Maven успешно собран с текущей версией зависимости, но все еще ссылается на более старую версию - PullRequest
0 голосов
/ 16 июня 2020

У меня есть текущая версия зависимости, успешно установленная в локальном реестре mvn .m2 с помощью mvn clean install (подтверждено cd в .m2 репозиторий).

Затем я изменил pom.xml из проект должен включать новый номер версии:

        <dependency>
            <groupId>com.xyz.lib</groupId>
            <artifactId>xyz-lib-abc-model</artifactId>
            <version>1.4.0-SNAPSHOT</version>
        </dependency>

Maven смог успешно построить с 1.4.0-SNAPSHOT, но когда я получил доступ к проекту в IntelliJ, он вместо этого связался со старой версией (0.1.1-SNAPSHOT) текущей версии.

Когда я проверил дерево зависимостей с помощью `mvn dependency: tree, у меня было:

[INFO] +- com.xyz.lib:xyz-lib-abc-model:jar:1.4.0-SNAPSHOT:compile

Что мне кажется правильным.

Я пробовал использовать <dependencyManagement>, но потом проект не удалось построить и не смог определить модель.

Кто-нибудь знает, что происходит, и как заставить maven вытащить правильный версия?

Заранее спасибо!

Ответы [ 4 ]

1 голос
/ 16 июня 2020

Попробуйте повторно импортировать зависимости из локального m2 в IntelliJ, например:

  • Откройте представление проекта в IntelliJ
  • Щелкните правой кнопкой мыши файл pom. xml и
  • выберите Maven - Reimport Если это сработает для вас, IntelliJ добавит
    зависимости к проекту
  • Проверьте, добавлены ли нужные вам зависимости в File - Project Structure - Project Settings - Libraries and File - Структура проекта - Модули - Зависимости
0 голосов
/ 16 июня 2020

Попробуйте следующий подход:

  1. Закройте проект в IntelliJ
  2. Файл -> Открыть ...
  3. Найдите pom. xml вашего проекта, а не файлы проекта идеи
  4. Откройте этот pom. xml. Он перестроит всю модель зависимостей в соответствии с информацией, содержащейся в этом новом pom. xml (который, как я полагаю, больше не имеет старой зависимости).

Раздел DependencyManagement не имеет значения в этом случае - упомяните об этом, потому что вы сказали в вопросе, что пробовали это - так что не беспокойтесь, это сэкономит вам время :)

0 голосов
/ 16 июня 2020

мое первое предположение касается того, что используемый тип maven в вашей IDEA не тот, который вы используете в терминале. :)

IDEA preferences Вы можете настроить установленный maven вместо прилагаемого.


Или другое решение - продолжить «обновить / реимпорт »в пом. xml. Он исследует путь к классам на основе вашего pom. xml и обновит sh те, которые необходимы.

Вы должны увидеть кнопку «Reimport здесь Reimport

Если вы вообще не видите Maven, это означает, что вы не добавили свой проект в IDEA как проект Maven.

Пожалуйста, сделайте следующее: 1. Щелкните правой кнопкой мыши pom. xml 2. 2. Добавить как проект maven add as a maven project

0 голосов
/ 16 июня 2020

Я видел эту проблему с IntelliJ. Если вам больше не нужна старая версия, вы можете перейти в каталог .m2 и удалить старую версию вручную. Но вам нужно сохранить обе версии, вы можете открыть проект как fre sh проект, используя pom. xml. Это решит проблему.

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