Есть ли способ в POM, чтобы указать более высокую версию для зависимого пакета? - PullRequest
0 голосов
/ 03 февраля 2020

Я использую Maven для настройки зависимости в моем приложении.

Я использую Spring Boot v2.1.12.RELEASE , которая привносит Spring Core v5.1.13 * Как вы видите, я хочу, чтобы Spring Integration не разрешалась в v5.1.11 Spring Core, так как в ней есть некоторые уязвимости.

Есть ли способ указать в POM для разрешения Spring Integration? до 5.1.13 Spring Core (вместо 5.1.11 )?

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.1.12.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.integration</groupId>
        <artifactId>spring-integration-core</artifactId>
        <version>5.1.9</version>
    </dependency>

PS Я не хочу обновить до последней версии Spring Boot.

Ответы [ 2 ]

1 голос
/ 03 февраля 2020

Используйте тег исключения maven, чтобы исключить транзитивную зависимость, убедитесь, что исключенная библиотека напрямую добавлена ​​в pom или подключена какой-либо другой зависимостью.

<dependency>
   <groupId>org.springframework.integration</groupId>
   <artifactId>spring-integration-core</artifactId>
   <version>5.1.9</version>
   <exclusions>
      <exclusion>
         <groupId>org.springframework</groupId>
         <artifactId>spring-core</artifactId>
         <version>5.1.11.RELEASE</version>
      </exclusion>
   </exclusions>
</dependency>

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: это просто обходное решение для вашей неотложной необходимости используйте его только тогда, когда никакие другие варианты невозможны, так как управление зависимостями, управляемыми пружиной, само по себе не поддерживается в долгосрочной перспективе.

0 голосов
/ 03 февраля 2020

Я воспользовался рекомендацией в посте Управление зависимостями , чтобы преодолеть мою проблему.

Поэтому я исключил зависимость пружинного ядра из интеграции пружин, а также добавил библиотеку базовых пружин, используя следующий код

 <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.1.13.RELEASE</version>
        </dependency>
    </dependencies>
</dependencyManagement>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...