Maven构建jar包时缺少主属性,如何有效解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计566个文字,预计阅读时间需要3分钟。
Spring Boot项目结合Docker使用时,打包了一个jar包,启动时出现错误:`no main manifest attribute, in target/*-jar.jar`。这通常是因为jar包中没有指定主类。可以尝试以下方法解决:
1. 确保在项目的`pom.xml`文件中,``标签下的``部分包含了以下插件配置:
xml org.springframework.boot spring-boot-maven-plugin
2. 在`src/main/resources/META-INF/MANIFEST.MF`文件中,添加以下内容:
Main-Class: 你的主类全路径
例如,如果你的主类是`com.example.MyApplication`,则应添加:
Main-Class: com.example.MyApplication
3. 重新构建项目,生成新的jar包。
如果以上步骤无法解决问题,可以尝试以下方法:
1. 使用IDE(如IntelliJ IDEA或Eclipse)打包项目,确保IDE正确设置了主类。
2. 使用命令行手动打包项目,并指定主类:
bashmvn clean package -Dmaven.test.skip=true
3. 检查是否有其他配置错误,例如依赖冲突或资源文件缺失。
如果问题仍然存在,请提供更多关于项目配置和错误日志的信息,以便进一步分析。
Spring boot项目结合docker容器用,打了个jar包,启动的时候竟然说:no main manifest attribute, in target/*.jar
但也不是所有的微服务的jar包都不能启动,比对一下这两个包对应的打包插件
可以用的长这样:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
不能用的长这样:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
唯一的区别就是少了个这:
<executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions>
这东西的作用是:创建一个自动可执行的jar或war文件
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计566个文字,预计阅读时间需要3分钟。
Spring Boot项目结合Docker使用时,打包了一个jar包,启动时出现错误:`no main manifest attribute, in target/*-jar.jar`。这通常是因为jar包中没有指定主类。可以尝试以下方法解决:
1. 确保在项目的`pom.xml`文件中,``标签下的``部分包含了以下插件配置:
xml org.springframework.boot spring-boot-maven-plugin
2. 在`src/main/resources/META-INF/MANIFEST.MF`文件中,添加以下内容:
Main-Class: 你的主类全路径
例如,如果你的主类是`com.example.MyApplication`,则应添加:
Main-Class: com.example.MyApplication
3. 重新构建项目,生成新的jar包。
如果以上步骤无法解决问题,可以尝试以下方法:
1. 使用IDE(如IntelliJ IDEA或Eclipse)打包项目,确保IDE正确设置了主类。
2. 使用命令行手动打包项目,并指定主类:
bashmvn clean package -Dmaven.test.skip=true
3. 检查是否有其他配置错误,例如依赖冲突或资源文件缺失。
如果问题仍然存在,请提供更多关于项目配置和错误日志的信息,以便进一步分析。
Spring boot项目结合docker容器用,打了个jar包,启动的时候竟然说:no main manifest attribute, in target/*.jar
但也不是所有的微服务的jar包都不能启动,比对一下这两个包对应的打包插件
可以用的长这样:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
不能用的长这样:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
唯一的区别就是少了个这:
<executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions>
这东西的作用是:创建一个自动可执行的jar或war文件
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

