Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将所有依赖项升级到特定版本_Java_Maven 2 - Fatal编程技术网

Java 如何将所有依赖项升级到特定版本

Java 如何将所有依赖项升级到特定版本,java,maven-2,Java,Maven 2,我试着做了一个mvn依赖:树,得到了一个依赖树 我的问题是,我的项目依赖于许多模块,这些模块内部依赖于许多spring工件。有一些版本冲突。我想升级所有与spring相关的库,比如说最新的(2.6.x或更高版本)。这样做的首选方式是什么 我是否应该在pom.xml中声明所有的DEPSSpring上下文、spring支持(以及10个其他工件),并将它们指向2.6.x?还有其他更好的方法吗 [INFO] +- com.xxxx:yyy-jar:jar:1.0-SNAPSHOT:compile [IN

我试着做了一个
mvn依赖:树
,得到了一个依赖树

我的问题是,我的项目依赖于许多模块,这些模块内部依赖于许多spring工件。有一些版本冲突。我想升级所有与spring相关的库,比如说最新的(2.6.x或更高版本)。这样做的首选方式是什么

我是否应该在pom.xml中声明所有的DEPSSpring上下文、spring支持(以及10个其他工件),并将它们指向2.6.x?还有其他更好的方法吗

[INFO] +- com.xxxx:yyy-jar:jar:1.0-SNAPSHOT:compile
[INFO] |  +- com.xxxx:zzz-commons:jar:1.0-SNAPSHOT:compile
[INFO] |  |  +- org.springframework:spring-dao:jar:2.0.7:compile
[INFO] |  |  +- org.springframework:spring-jdbc:jar:2.0.7:compile
[INFO] |  |  +- org.springframework:spring-web:jar:2.0.7:compile
[INFO] |  |  +- org.springframework:spring-support:jar:2.0.7:compile
[INFO] |  |  +- net.sf.ehcache:ehcache:jar:1.2:compile
[INFO] |  |  +- commons-collections:commons-collections:jar:3.2:compile
[INFO] |  |  +- aspectj:aspectjweaver:jar:1.5.3:compile
[INFO] |  |  +- betex-commons:betex-commons:jar:5.5.1-2:compile
[INFO] |  |  \- javax.servlet:servlet-api:jar:2.4:compile
[INFO] |  +- org.springframework:spring-beans:jar:2.0.7:compile
[INFO] |  +- org.springframework:spring-jmx:jar:2.0.7:compile
[INFO] |  +- org.springframework:spring-remoting:jar:2.0.7:compile
[INFO] |  +- org.apache.cxf:cxf-rt-core:jar:2.0.2-incubator:compile
[INFO] |  |  +- org.apache.cxf:cxf-api:jar:2.0.2-incubator:compile
[INFO] |  |  |  +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.0-M1:compile
[INFO] |  |  |  +- org.codehaus.woodstox:wstx-asl:jar:3.2.1:compile
[INFO] |  |  |  +- org.apache.neethi:neethi:jar:2.0.2:compile
[INFO] |  |  |  \- org.apache.cxf:cxf-common-schemas:jar:2.0.2-incubator:compile

更新:我已经删除了关于“\-”的额外问题,所以我的问题现在是主题要求的:)

该子树的结尾。只不过是一种花哨的ascii艺术——想象一下它的+-

有两种解决方案:

  • OSS的方式:下载你所依赖的项目,将它们迁移到Spring的最新版本,并向它们发送补丁,以便每个人都能获得新功能

  • 覆盖您自己POM中每个依赖项的版本


  • 您看过
    dependecyManagement
    标签了吗?它允许您指定父pom中每个依赖项的版本号。然后,所有其他POM可以继承指定的版本:

    <properties>
        <spring.version>2.5.6</spring.version>
    </properties>
    ...
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
    
            <!-- more dependencies -->
    
        </dependencies>
    </dependencyManagement>
    
    
    2.5.6
    ...
    org.springframework
    
    .

    我认为这不是真正的问题;-)恶心:)那么有没有快捷方式将所有与spring相关的工件升级到一个版本?我不想列出所有的10个spring DEP,并指出一个版本。如果你有两个独立的问题,请写两个独立的帖子!这两个问题似乎完全不相关(除了它们都是关于maven的事实)。广告更新:通过简单地删除
    \-
    部分,您有效地使现有的两个答案失去了意义。那不是最好的办法。你可能应该把剩下的部分移到一个新的问题上,把原来的问题留在这里。好吧,你生活和学习。