Как обновить или заменить зависимости из другой библиотеки в Maven Project? - PullRequest
0 голосов
/ 13 октября 2018

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

mvn dependency:tree -Dverbose -Dincludes=commons-collections

Verbose not supported since maven-dependency-plugin 3.0
[INFO] com.jde.jnlu:jnlu-qe-web:war:1.0.0-SNAPSHOT
[INFO] \- com.jde.jimi3.data:jd-jimi3-data-sdk:jar:3.0-SNAPSHOT:compile
[INFO]    \- com.jde.jmq:jmq-client-spring:jar:2.1.2:compile
[INFO]       \- com.jde.jmq:jmq-client-core:jar:2.1.2:compile
[INFO]          \- com.jde.jmq:jmq-client-json:jar:1.2.9:compile
[INFO]             \- commons-beanutils:commons-beanutils:jar:1.9.2:compile
[INFO]                \- commons-collections:commons- 
             collections:jar:3.2.1:compile

Как можно видеть, "commons-collection" вводится jd-jimi3-data-sdk, который я не могу обновить.Но мне напомнили, что текущая версия «commons-collection» имеет потенциальную проблему безопасности и нуждается в обновлении.Как я могу добиться этого в моем проекте?

1 Ответ

0 голосов
/ 13 октября 2018

Если в вашем проекте вы объявите явную зависимость от нужной вам версии commons-collection, Maven будет использовать ее вместо этого.См. Документацию Maven: Разрешение конфликтов с помощью дерева зависимостей .

Если вы хотите быть действительно уверенным, вы также можете (в дополнение к вышесказанному) исключить коллекцию общин из вашего jd-jimi3-data-sdk зависимость.Что-то вроде:

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>com.jde.jimi3.data</groupId>
      <artifactId>jd-jimi3-data-sdk</artifactId>
      <version>3.0-SNAPSHOT</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>commons-collections</groupId>
          <artifactId>commons-collections</artifactId>
        </exclusion>
      </exclusions> 
    </dependency>
  </dependencies>
</project>

Это также описано в документации Maven: Исключения зависимостей .

Предупреждение : поскольку библиотека используется- jd-jimi3-data-sdk - не был написан с этой версией коммон-коллекций, и предположительно не протестирован с ней, это может сломать ваш проект!

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