maven打包的项目java -jar 中没有主清单属性
时间: 2023-11-29 08:10:27 浏览: 114
当使用`java -jar`命令运行一个Maven打包的项目时,出现"no main manifest attribute, in java-***-SNAPSHOT.jar"错误通常是由于缺乏主清单属性导致的。
主清单属性是用于标识可执行JAR文件的入口点的,它告诉Java虚拟机应该运行哪个类作为程序的起点。在Maven打包过程中,如果没有正确配置主清单属性,那么在运行JAR文件时会出现此错误。
有几种可能的原因导致这个问题。其中一种可能是在创建Spring Boot项目时,自动导入的spring-boot-maven-plugin插件中添加了`<skip>true</skip>`标签,导致主类被忽略。
要解决这个问题,你可以在pom.xml文件中手动配置主清单属性。你需要确保在`<build>`标签下的`<plugins>`标签中添加了正确的配置,指定了项目的主类。例如:
```
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.example.MyApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
```
在上面的配置中,`com.example.MyApplication`是你的项目的主类。你需要根据你的项目结构和主类的包名进行相应的修改。
完成配置后,重新运行Maven打包命令,确保生成的JAR文件中包含了正确的主清单属性。然后再次尝试用`java -jar`命令运行JAR文件,这个错误应该就会消失了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [【Maven】maven生命周期-jar中没有主清单属性no main manifest attribute, in java](https://blog.csdn.net/forest_long/article/details/129474087)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [java打包maven启动报错jar中没有主清单属性](https://blog.csdn.net/Xhani/article/details/131243454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文