目标:希望把Java项目打包成一个完整的jar包,可以独立运行,不需要再依赖其他jar包。
我们在用eclipse中mvn创建mvn项目的时候,选择非webapp,会默认的以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中查看
如果没有jdk,需要点击add,添加你安装的jdk路径。
ok,再重新maven install一下,可以了,在target目录下生成了一个jar包,
直接输入命令:java -jar XXX.jar
可以直接运行。