maven有两种生成可执行jar包的插件,能够自动加载依赖包。分别为 maven-assembly-plugin 和appassembler-maven-plugin, appassembler-maven-plugin 的优势是能够自动生成window和linux的启动脚本, maven-assembly-plugin 生成jar包后需要执行 java -jar **.jar命令运行jar包。
以上两种插件分别需要在pom文件中添加以下插件plugin:
maven-assembly-plugin使用方式如下
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>*.account.core.GenerateAccount</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
执行命令:mvn assembly:assembly
工程target目录下会自动生成的jar包,依赖包也包含在jar包里,然后手动执行java -jar *.jar即可执行。
appassembler-maven-plugin使用方式如下
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.1.1</version>
<configuration>
<programs>
<program>
<mainClass>*.account.core.GenerateAccount</mainClass>
<name>ucenter</name>
</program>
</programs>
</configuration>
</plugin>
执行命令:mvn package appassembler:assemble,会自动生成jar包
然后执行sh target/appassembler/bin/account 即可执行jar包,account是l生成的inux下的启动脚本
本文介绍如何使用maven-assembly-plugin和appassembler-maven-plugin生成包含依赖的可执行jar包。前者需手动执行,后者自动生成启动脚本。

被折叠的 条评论
为什么被折叠?



