1 直接使用idea运行是ok的,有依赖,有配置
2 打成jar后,在terminal运行target下的jar就始终报错没有主清单,我打开看了,确实没有
那问题出在哪里呢,使用maven-shade-plugin也没有问题,和官网上给出的一致?
>> 写在位置了,在<build>下有2个子标签,一个<plugins>,一个<pluginManagement>,应该写在plugins标签里。
正确如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.xx.Test</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
执行:
mvn -Dmaven.test.skip=true assembly:assembly
java -jar target/xx-RELEASE.jar
本文探讨了如何在Idea中正常运行项目后,将应用打成jar包时遇到的主清单缺失问题。作者分享了使用Maven shade plugin配置过程,并提供了正确的插件写法。解决方法针对那些即使遵循官方指南但仍遇到的问题,提供了一步一步的排查和解决方案。
2465

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



