利用maven将项目打包成一个可以运行的独立jar包

时间:2023-02-07 14:55:34

目标:希望把Java项目打包成一个完整的jar包,可以独立运行,不需要再依赖其他jar包。

我们在用eclipse中mvn创建mvn项目的时候,选择非webapp,会默认的以jar打包形式,如下图:

利用maven将项目打包成一个可以运行的独立jar包

如果打包成一个完整的jar包,需要在pom.xml中配置一个插件:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>application.App</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>

其中需要注意的是<mainClass>这个tag中要配置成你自己的main函数所在的类。

然后,在项目上右键,选择Run As->Maven Install,这个时候报了一个错,提示我用的是jre而不是jdk。

在Window->preferences中查看

利用maven将项目打包成一个可以运行的独立jar包

如果没有jdk,需要点击add,添加你安装的jdk路径。

利用maven将项目打包成一个可以运行的独立jar包

ok,再重新maven install一下,可以了,在target目录下生成了一个jar包,

直接输入命令:java -jar XXX.jar

可以直接运行。