使用Maven插件让生成的jar包可以直接运行
问题:
使用maven直接生成的jar包无法通过java -jar XXX.jar方式直接运行,报错如下:
解决:
- maven官方文档地址:
http://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html
- 使用maven的maven-shade-plugin插件,在pom.xml文件中添加如下配置:
<!-- 使用maven插件使生成的jar包可以直接运行start -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.dima.test.main.TestMain</mainClass><!-- 这里设置jar包的入口main方法所在类的全限定名 -->
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- 使用maven插件使生成的jar包可以直接运行end -->
- 示例main方法代码截图:
- 注意插件配置里需要设置jar包的入口main方法所在类的全限定名,如下图:
- 使用maven打包:
- 运行结果: