Maven子项目改独立项目时Non-resolvable parent POM报错如何解决
问题根因
- POM中parent节点的groupId与artifactId配置颠倒:Spring Boot官方父pom的正确坐标为
groupId: org.springframework.boot、artifactId: spring-boot-starter-parent,你当前写反了两个字段的内容,导致Maven拼装出的中央仓库下载路径错误,无法找到对应的父pom文件,直接触发构建失败。 - 额外的非法反射警告为环境兼容性问题:你Jenkins节点使用的是JDK9及以上版本,当前Maven版本依赖的guice组件使用了JDK8的低权限反射API,高版本JDK对这类反射操作做了限制,因此抛出警告,该问题目前不直接阻断构建,但后续JDK版本会直接禁止这类操作,建议同步修复。
解决方法
- 修正parent节点配置,替换原有parent块为如下内容:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.5.RELEASE</version> <!-- 可选:强制从远程仓库拉取父pom,跳过本地相对路径查找 --> <relativePath/> </parent>
- 处理反射警告的适配方案:
- 推荐方案:将Jenkins构建环境的JDK版本切换为JDK8,和你当前使用的Spring Boot 1.2.5版本官方适配范围一致,可避免所有版本兼容性风险。
- 备选方案:如果必须使用高版本JDK,先将Maven升级到3.6.3及以上版本,条件允许的话同步升级Spring Boot到支持高版本JDK的稳定版本(如2.7.x系列)。
内容的提问来源于stack exchange,提问作者user630702
相关产品推荐
相关产品推荐

