Как обновить все зависимости до конкретной версии - PullRequest
0 голосов
/ 07 апреля 2010

Я попытался сделать mvn dependency:tree, и я получил дерево зависимостей.

Мой вопрос таков: мой проект зависит от многих модулей, которые внутренне зависят от многих пружинных артефактов. Есть несколько версий столкновения. Я хочу обновить все библиотеки, связанные с Spring, до последней (2.6.x или выше). Каков предпочтительный способ сделать это?

Должен ли я объявить все элементы deps spring-context, spring-support (и 10 других артефактов) в моем pom.xml и указать их на 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

ОБНОВЛЕНИЕ: я удалил лишний вопрос о "\ -", так что мой вопрос теперь - то, о чем просит субъект:)

Ответы [ 3 ]

3 голосов
/ 07 апреля 2010

Конец этого поддерева. Не что иное, как фантазия об искусстве ascii - подумайте, как будто это + -

2 голосов
/ 07 апреля 2010

Вы смотрели на тег dependecyManagement? Позволяет указать номер версии каждой зависимости родительского pom. Все остальные ваши poms могут наследовать указанные версии:

<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 голосов
/ 07 апреля 2010

Есть два решения:

  1. Путь OSS: загрузите проекты, от которых вы зависите, перенесите их в последнюю версию Spring и отправьте патч, чтобы все получили новые функции

  2. Перезаписать версию каждой зависимости в своем POM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...