MAVEN BUILD FAILURE - 无法解析项目 XYZ 的依赖关系
Posted
技术标签:
【中文标题】MAVEN BUILD FAILURE - 无法解析项目 XYZ 的依赖关系【英文标题】:MAVEN BUILD FAILURE - Could not resolve dependencies for project XYZ 【发布时间】:2015-01-14 00:30:04 【问题描述】:我正在集成 jersey 和 spring,为此我有以下依赖项,但由于以下错误而无法构建:
我的 POM 文件:
<dependencies>
<!-- Jersey -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>
<!-- Spring 3 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<!-- Jersey + Spring -->
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-spring</artifactId>
<version>1.8</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
控制台屏幕显示:
未能在项目 SpringRestMavenCalc 上执行目标:无法解析项目的依赖项 SpringRestMavenCalc:SpringRestMavenCalc:war:0.0.1-SNAPSHOT:无法收集 [com.sun.jersey:jersey- server:jar:1.8 (编译), org.springframework:spring-core:jar:3.0.5.RELEASE (编译), org.springframework:spring-context:jar:3.0.5.RELEASE (编译), org.springframework :spring-web:jar:3.0.5.RELEASE (compile), com.sun.jersey.contribs:jersey-spring:jar:1.8 (compile)]: 没有可用于 org.springframework:spring-aop 的版本:jar:[2.5.2,3) 在指定范围内 -> [帮助1]
这个版本有问题吗?
【问题讨论】:
【参考方案1】:尝试使用以下代码为 spring-aop 添加 maven 依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>2.5.2</version>
</dependency>
或
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
我想其中一个应该可以工作
【讨论】:
【参考方案2】:没有可用于 org.springframework:spring-aop:jar:[2.5.2,3) 的版本
意思是 jersey-spring 需要 spring-aop 2.5
所以 jersey-spring 1.8 和 spring 3.0.5 是不兼容的
我会尝试以下方法:
-
寻找适用于 spring 3.0.5 的更新版本的 jersey-spring。
可能是上面peeskillet 建议的 jersey-spring3。
通过向 jersey-spring 依赖项添加排除项来试试我的 spring 3.0.5 运气。
如果需要,请咨询 pom here 并在 3.0.5 版本中包含它们。
【讨论】:
【参考方案3】:感谢大家的回答,从您的回答中学到了很多。
但是在我的 POM 中发生更改后,我的代码运行了:
添加 ,
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</exclusion>
【讨论】:
正如我所建议的,这可能会解决您的构建问题,但请注意运行时问题。以上是关于MAVEN BUILD FAILURE - 无法解析项目 XYZ 的依赖关系的主要内容,如果未能解决你的问题,请参考以下文章
tar: Exiting with failure status due to previous errors
OpenCL 内核定义错误 clBuildProgram(CL_BUILD_PROGRAM_FAILURE)?
Flutter, Android Unable to load Maven meta-data from ~ Build error 解决方法
Jenkins Android Build Error: FAILURE: Build failed with an exception
ionic build android failure - 任务 processDebugResources 执行失败
Failure to find parent:pom:2.2.6 in http://maven.aliyun was cached in the local repository...