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...