maven打包可运行的JAR(一)

使用Maven Assembly plugin将依赖打包进jar

一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar。以前采用fatjar进行打包,但是fatjar有不少问题,

1. 最近一次更新是在09年,无法支持新版本的eclipse。

2.支持最高的jdk版本是1.7

3. 打包速度慢(不是一般的慢)

4. 打成的jar包体积略大。

下面是一个Eclipse的工程,其中含有不少的maven依赖包:

采用export成runnable jar包的方式是行不通的,正确做法是在工程的pom.xml文件中配置maven-assembly-plugin,pom.xml的配置如下:

4.0.0com.cetc.dihdfs1.0jarhdfshttp://maven.apache.orgUTF-81.8maven-compiler-plugin2.3.21.81.8maven-assembly-pluginjar-with-dependenciescom.cetc.di.Appmake-assemblypackagesinglelog4jlog4j1.2.17junitjunit3.8.1testorg.springframework.dataspring-data-hadoop2.2.1.RELEASE

执行maven4MyEclipse->Update Project…

最后执行Run as->Maven build..->Select..->选择package目标。

目标执行后,可以在target目录下,找到生成的jar包:

使用Java Decompiler可以看到打包后,jar包的内容如下:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,993评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 使用指导 如何添加外部依赖jar包 在Maven工程中添加依赖jar包,很简单,只要在POM文件中引入对应的<de...
    静默虚空阅读 2,833评论 0 13
  • 朝曦熙风浪轻扬,江河湖水堤渐宽。 抗洪再把新功立,将士返程系行囊。 驱车蹑潜临破晓,岂料人民站两行。 军民鱼水一家...
    嗯哼嗯哼蹦阅读 252评论 0 0
  • 1. 每到年末,身边总会发出这样的感慨:“天哪,太快了,这一年一晃就过了。” 除开感同身受于时间的飞速,我又不得不...
    江厘阅读 1,809评论 2 12