Maven把所有依赖的jar打包到一个jar中(相当于fat jar)
转自:http://outofmemory.cn/maven/FAQ/how-to-build-all-dependency-jar-into-one
java的jar包太多了,有时候我们为了方便执行,希望把所有引用的jar包打包到一起。maven可以做到吗?
肯定是可以的,需要使用maven-assembly-plugin这个maven插件,使用方法说明如下:
首先在pom文件的build节点中添加这个插件的引用:
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <!--这里要替换成jar包main方法所在类 --> <mainClass>ywzn.gl.ExeclToMongoDB.JavaReadExcel</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
然后执行 package命令即可
会得到一个名称为"ExeclToMongoDB-0.0.1-SNAPSHOT-jar-with-dependencies.jar"的jar包,这个包包含了依赖的jar包的文件,相当于fat_jar。