IDEA编译jar运行报报错:xxxx.jar中没有主清单属性
萌新得我在实际操作中遇到的小问题,做个踩坑记录!大佬勿喷·····
0x01 编译好jar包,启动时报错如下:
springfunctionrce.jar中没有主清单属性
F:\Project\CodeAudit\SpringBoot\springfunctionrce\***>java -jar springfunctionrce.jar
springfunctionrce.jar中没有主清单属性
0x02 错误原因
编译后的jar文件中的MANIFEST.MF
可能缺少项目启动项,没有Main-Class
和Start-Class
0x03 解决办法:
No.1 指定MANIFEST.MF路径
项目打jar包前首先file–>project structure
弹框后选中Atifacts—> + —> jar —> from module with dependenceis
选择一个Main Class
然后指定META-INF/MANIFEST.MF
的路径为src下(注意不要放到main/java目录下,否则编译的jar就会遇到我的问题)
这里选完主类之后默认会是这个路径F:\Project\CodeAudit\SpringBoot\springfunctionrce\src\main\java
,这里不要放到main/java
直接去掉main/java
编译成功后运行就没毛病了!!
如果这个方案不行,那就很有可能是另一个原因(不过我第一个方案就好了-.-)
No.2 项目pom.xml文件中没有添加插件spring-boot-maven-plugin
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>