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依赖包:

maven打包可运行的JAR(一)_第1张图片

采用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…

maven打包可运行的JAR(一)_第2张图片

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

maven打包可运行的JAR(一)_第3张图片

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

maven打包可运行的JAR(一)_第4张图片

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

maven打包可运行的JAR(一)_第5张图片

你可能感兴趣的:(maven打包可运行的JAR(一))