Project build error: Non-resolvable parent POM for com.gzl.cn:springboot01:0.0.1-SNAPSHOT: Could not

SpringBoot Maven依赖问题及解决方案
本文记录了一位开发者在构建SpringBoot项目时遇到的Maven依赖错误,问题表现为缺少`maven-dependencies`,原因是依赖复制时产生了空格。解决方法是检查并清理依赖中的空格,确保从可靠源获取依赖。作者分享了一个查找Maven依赖的网站,并提醒读者注意此类细节,以避免类似问题。

问题描述

这是在通过maven来构建springboot项目的时候报的错,有的时候xml报些小红×没啥,但是这次不一样了。

以下是报错截图

在这里插入图片描述
导完依赖发现连maven dependencies都没有,这就更别说运行了,就是纯属的pom依赖错误。

下面截图是调试好之后的样子。

在这里插入图片描述

解决过程

首先这块我的依赖是从别的地方复制的,网上很多说法都是说让更换依赖版本,更改完就好了,其实不是,我就不信这个邪,同样都是空项目为啥别的版本就可以,然后最终找到了结果,就是复制的依赖可能中间产生空格导致的。特别是pdf文件复制依赖最能出现此问题。

然后更改了一遍依赖就好了。这里给大家提供一个找依赖文件的网站。需要什么版本上面都有。
链接: maven依赖网站.

在这里插入图片描述

总结

希望通过我自己的亲身试验能帮你解决问题,如果对您有帮助,帮忙点个赞,嘻嘻

### 问题分析 在Maven构建过程中,出现`Non-resolvable parent POM for com.jd.gmall:gmall-async:1.0-SNAPSHOT`错误通常表明Maven无法找到指定的父POM。这种问题可能由多种原因引起,包括网络连接问题、本地Maven仓库缓存损坏、配置错误等。以下是一些常见的原因及对应的解决方案。 --- ### 常见原因及解决方案 #### 1. **网络连接问题** 如果Maven无法访问远程仓库(例如`https://repo.maven.apache.org/maven2`或`https://maven.aliyun.com/repository/public`),则无法下载所需的父POM。这可能是由于网络配置错误、代理设置不当或远程仓库暂时不可用。 **解决方案:** - 检查网络连接是否正常。 - 如果使用代理,确保`settings.xml`文件中的代理配置正确。 - 尝试更换Maven仓库镜像,例如使用阿里云镜像: ```xml <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <name>Aliyun Maven</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors> ``` #### 2. **父POM版本不存在** Maven无法找到指定的父POM版本,可能是因为版本号拼写错误或者该版本并未发布到仓库中。 **解决方案:** - 检查`pom.xml`文件中的`<parent>`部分,确保`groupId`、`artifactId`和`version`正确无误。 - 确认父POM版本是否确实存在于远程仓库中。例如,可以访问Maven Central或阿里云仓库,搜索对应的父POM。 #### 3. **本地仓库缓存问题** Maven可能会缓存失败的下载尝试,导致即使问题已经解决,仍然无法重新尝试下载。 **解决方案:** - 删除本地Maven仓库中相关的缓存目录。例如,如果问题是关于`org.springframework.boot:spring-boot-starter-parent`,可以删除以下目录: ``` ~/.m2/repository/org/springframework/boot/spring-boot-starter-parent/ ``` - 然后运行以下命令强制Maven重新下载依赖: ```bash mvn clean install -U ``` #### 4. **`relativePath`配置错误** Maven默认会在当前项目的父目录中查找父POM。如果父POM不在标准位置,或者项目结构复杂,可能会导致`relativePath`指向错误的位置。 **解决方案:** - 在`pom.xml`中显式指定`relativePath`,例如: ```xml <parent> <groupId>com.jd.gmall</groupId> <artifactId>gmall-parent</artifactId> <version>1.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> ``` - 如果父POM不在本地文件系统中,而是需要从远程仓库下载,则可以将`relativePath`设置为空: ```xml <relativePath/> ``` #### 5. **父POM未正确发布** 如果父POM是一个自定义的项目,并且未正确发布到远程仓库,Maven将无法找到它。 **解决方案:** - 确保父POM项目已经正确构建并发布到远程仓库。可以使用以下命令将父POM安装到本地仓库或部署到远程仓库: ```bash mvn clean install mvn deploy ``` #### 6. **Maven版本问题** 某些旧版本的Maven可能存在兼容性问题,导致无法正确解析某些POM文件。 **解决方案:** - 升级Maven到最新版本,确保其能够支持最新的POM格式和依赖管理功能。 --- ### 示例代码 以下是一个典型的`pom.xml`中`<parent>`部分的配置示例: ```xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.0</version> <relativePath/> <!-- lookup parent from repository --> </parent> ``` --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪 咖@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值