执行mvn spring-boot:build-image报错:多主类冲突及JRE缺失问题
解决
mvn spring-boot:build-image执行报错问题 1. 主类重复导致构建失败
报错提示无法从候选类com.example.MyApplication和com.example.Application中找到唯一主类,解决办法二选一:
- 在
pom.xml的spring-boot-maven-plugin配置里明确指定主类:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.6.1</version> <configuration> <mainClass>com.example.MyApplication</mainClass> <!-- 替换成你实际要使用的主类全路径 --> </configuration> </plugin>
- 删除项目中多余的主类,只保留一个带有
@SpringBootApplication注解的启动类
2. Java 20无有效JRE的安全警告
系统提示指定Java 20但无对应JRE,将用JDK替代存在安全隐患,处理方案:
- 优先降级到Java 17(LTS长期支持版本,有官方JRE支持):修改
pom.xml中java.version为17,同时构建时设置环境变量BP_JVM_VERSION=17 - 若必须使用Java 20:可以继续使用JDK替代,但需注意运行时的安全风险;或者寻找第三方适配的Java 20 JRE镜像来配合构建流程
内容的提问来源于stack exchange,提问作者Siddhant
相关产品推荐
相关产品推荐

