报错 : UNRESOLVED DEPENDENCY:ORG.SPRINGFRAMEWORK:SPRING-WEBMVC-5.2.0.RELEASE

本文指导如何解决Spring MVC项目中Maven自动下载依赖失败的问题,提供步骤一的IDEA导入更改、设置阿里云镜像作为仓库,以及针对不同Maven配置的解决方案。

今天准备新建一个spring MVC项目,但是在刚开始安装 Maven依赖的时候,出现了一个问题:

UNRESOLVED DEPENDENCY:ORG.SPRINGFRAMEWORK:SPRING-WEBMVC-5.2.0.RELEASE

如下图:

 

出现这个问题表示我们的Maven自动下载依赖是有问题的

于是我总结了几个解决办法,可能对您会有所帮助

步骤一: 

在pom.xml文件中写入下载的构件之后,会报红,如果对于新手来说会有点慌张,不知道该怎么办,这个时候我们需要注意右下角的提示(我用的是IDEA所以会出现在右下角):

我们需要点击“import Changes” ,如果说你的Maven的配置或者仓库是没有问题的,那么点击之后耐心等待一分钟即可

下图就是我们看Maven依赖安装成功了

如果还是解决不了问题,那么就说明你的Maven设置有问题了,需要看下面的两种解决方案:

下面的两种方案就是解决无法正常下载依赖的方案

有两种方案,一种是在settings.xml中添加对应的仓库,另外一种就是在pom.xml中直接添加额外的仓库,我个人推荐第二种(在</project>之前添加)

方案一:

我们找到maven的settings.xml文件,我的位置 如下

(推荐)然后在文件中引入 阿里云镜像 

当然还有几种值得推荐的Maven镜像(从中选择一个即可):

<!--两个可用的mirror站点-->
	 <!-- 阿里云的镜像站(首推,新站,速度暴快)顺便给阿里云栖开发者社区做个广告,点这里来云栖社区看看吧。-->
	 <mirror>
		<id>nexus-aliyun</id>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
		<mirrorOf>central</mirrorOf> 
	 </mirror>
	 <!-- 剩下就是国外的了,maven官方运维的2号仓库 -->
	<!-- <mirror> 
		<id>repo2</id> 
		<name>Mirror from Maven Repo2</name> 
		<url>http://repo2.maven.org/maven2/</url> 
		<mirrorOf>central</mirrorOf> 
	</mirror> -->
	<!-- maven在UK架设的仓库(有时候速度会比官方2号仓库快) -->
	<!-- <mirror> 
		<id>ui</id> 
		<name>Mirror from UK</name> 
		<url>http://uk.maven.org/maven2/</url> 
		<mirrorOf>central</mirrorOf> 
	</mirror> -->
	<!-- JBoss的仓库 -->
	<!-- <mirror> 
		<id>jboss-public-repository-group</id> 
		<mirrorOf>central</mirrorOf> 
		<name>JBoss Public Repository Group</name> 
		<url>http://repository.jboss.org/nexus/content/groups/public</url> 
	</mirror> -->

后面有几个朋友问我为什么他按照我的步骤操作了还是没有解决问题,我看了一下发现了问题的根源:

我们上面所修改的Setting.xml 我默认你在IDEA中的Maven使用的是自己下载的Maven,如下图

但是我发现他的Maven使用的并不是自己的Maven,而是IDEA自带的Maven,如下图

那么这样,你去修改自己的Maven,但是IDEA中使用的却是IDEA自带的Maven,那肯定不能解决问题啊。

所以在这里我告诉大家,如果你要使用IDEA自带的MAVEN,那么我们需要去设置这个Maven的Settings.xml

mac一般的路径都是:

 

大家可以去尝试。

### 问题分析与解决方案 在Maven项目中遇到`Unresolved dependency`问题时,通常是因为依赖项无法正确解析。以下是针对`com.itheima.B2B common-module jar 0.0.1-SNAPSHOT`未解析依赖问题的详细分析和解决方案。 #### 1. 检查本地仓库是否存在依赖 首先确认本地Maven仓库是否包含`com.itheima.B2B:common-module:jar:0.0.1-SNAPSHOT`。如果该依赖不存在或损坏,可以通过以下方法解决: - **清理本地仓库**:删除对应模块的目录(如`~/.m2/repository/com/itheima/B2B/common-module/0.0.1-SNAPSHOT`),然后重新执行`mvn clean install`以重新下载依赖[^4]。 - **强制更新依赖**:运行以下命令强制更新依赖项: ```bash mvn clean install -U ``` #### 2. 确认远程仓库配置 如果依赖项位于私有或自定义仓库中,确保`pom.xml`或`settings.xml`中正确配置了远程仓库地址。例如: ```xml <repositories> <repository> <id>custom-repo</id> <url>http://your.custom.repo.url/maven2</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> ``` 如果依赖项为SNAPSHOT版本,还需确保仓库支持SNAPSHOT版本的下载[^1]。 #### 3. 排除冲突依赖 如果项目中存在依赖冲突,可能会导致某些依赖项无法正确解析。可以使用Maven Helper插件(适用于IDEA)或`dependency:tree`命令分析依赖树,并排除冲突的依赖项。例如: ```xml <dependency> <groupId>com.itheima.B2B</groupId> <artifactId>common-module</artifactId> <version>0.0.1-SNAPSHOT</version> <exclusions> <exclusion> <groupId>conflicting.group.id</groupId> <artifactId>conflicting.artifact.id</artifactId> </exclusion> </exclusions> </dependency> ``` 上述配置将主动断开冲突依赖的资源[^3]。 #### 4. 检查依赖范围 确保`common-module`的依赖范围正确设置。例如,如果仅在测试环境中需要该模块,可将其范围设为`test`;如果仅用于编译阶段,则设为`compile`。示例: ```xml <dependency> <groupId>com.itheima.B2B</groupId> <artifactId>common-module</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> ``` #### 5. 手动安装依赖 如果依赖项无法从远程仓库下载,可以手动安装到本地仓库。假设已获取`common-module-0.0.1-SNAPSHOT.jar`文件,执行以下命令: ```bash mvn install:install-file -Dfile=path/to/common-module-0.0.1-SNAPSHOT.jar \ -DgroupId=com.itheima.B2B \ -DartifactId=common-module \ -Dversion=0.0.1-SNAPSHOT \ -Dpackaging=jar ``` ### 注意事项 - 如果依赖项由其他团队开发,建议联系相关团队确认依赖是否已发布至正确的仓库。 - 在多模块项目中,确保父POM正确声明了子模块依赖关系。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值