Проблема конфликтующей версии ядра безопасности ядра в дереве сборки - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь установить Spring-security-core в свой проект, и вот как я это делаю в моем pom.xml

<dependency>
  <groupId>org.springframework.security</groupId>
  <artifactId>spring-security-core</artifactId>
  <version>5.0.7.RELEASE</version>
</dependency>

Проблема заключается в том, что при сборке проекта я вижу org. springframework.security.spring-security-core с версией 4.2.9.RELEASE в моих артефактах вместо 5.0.7.RELEASE. Мой pom.xml глубоко в моем дереве сборки и является частью большого весеннего загрузочного проекта. Артефакт Spring-Security-Core не присутствует ни в одном другом pom.xml в моем дереве. Из того, что я читал до сих пор, похоже, что это происходит, потому что что-то в родительском дереве загружает spring-security-core 4.2.9.RELEASE в качестве зависимости без явного упоминания об этом в своем pom.xml. Как отладить эту проблему? В одном из родительских pom.xml есть такая зависимость:

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context-support</artifactId>
  <version>4.3.22.RELEASE</version>
</dependency>

Это объясняет, почему загружается старая версия spring-security-core? Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 23 октября 2019

Перейдите в расположение родительского файла pom.xml и как выполните команду

Зависимость mvn: дерево >> tree.txt

Будет создан файлс деревом зависимостей. Поищите «spring-security-core», чтобы узнать, какая версия загружена.

Есть несколько способов обойти:

  1. Вы можете повторить это также для каждого файла pom.xml. чтобы знать, откуда он получает ссылку.
  2. Если один из pom ссылается на версию, то ваша зависимость не будет учитывать, если она получила разрешение раньше.
  3. Проверьте, не содержит ли файл po.xml ссылки на какие-либо библиотеки, связанные с безопасностью Spring. Если так, то какая там версия. И если вам нужно, как упомянуто @Vinay, исключите его, чтобы получить ссылку на версию вашей библиотеки.
  4. Если вы хотите загрузить эту версию библиотеки, то упомянул ее в верхней части, так что на нее ссылаются, а другой версии нетбудет загружено.

Нет никакого отношения к безопасности пружины с помощью spring-context-code. Ссылка maven ссылка .

1 голос
/ 23 октября 2019

Проверьте дерево зависимостей с помощью этой команды

mvn dependency:tree

Если у Spring-context-support-support также есть Spring-Security, вы можете исключить это из зависимости, добавив пример исключений

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context-support</artifactId>
  <version>4.3.22.RELEASE</version>
   <exclusions>
        <exclusion>
            <groupId> groupid of the jar to be excluded  </groupId>
            <artifactId>artifact id of the jar to be excluded</artifactId>
        </exclusion>
    </exclusions>
</dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...