Заставить Intellij IDEA перечитать все maven-зависимости

297

Как заставить intellij идею перечитать / обновить все зависимости, указанные в pom-файле?

kubek2k
источник

Ответы:

354

Нажмите Ctrl+ Shift+, Aчтобы найти действия, и введите «reimport», вы найдете «Reimport All Maven Projects».

На Mac используйте + + Aвместо.

Jacky
источник
1
Допустим, у меня есть 5 модулей, каждый из которых основан на maven, в одном проекте, и я делаю это. Применима ли эта команда ко всем модулям, только к выбранному или первому в проекте при запуске?
slartibartfast
это изменилось? Я не вижу реимпорта 2017.1 в Maven
Winnemucca
1
@Winnemucca Я только что сделал это в 2017.2. В ожидании, чтобы закончить сейчас.
mrClean
1
Я должен был включить плагин Maven, чтобы сделать это.
codefreak
1
@Winnemucca, вы можете щелкнуть правой кнопкой мыши на помпе, перейти к Maven в раскрывающемся списке и выбрать Reimport.
Джонс-Крис
125

Откройте вкладку / окно «Maven Projects» и нажмите «Reimport All Maven Projects» в верхнем левом углу, чтобы перезагрузить все зависимости из их репозиториев. Строка состояния информирует о процессе.

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

magomi
источник
1
у нас есть сломанная привычка использовать версию без снимка для текущей разработки, и межпроектные зависимости иногда терпят неудачу.
kubek2k
1
Боюсь, эта проблема зависит от Maven. Maven проверяет только обновления на SNAPSHOT. По определению, не-SNAPSHOT версии никогда не изменятся, поэтому maven не должен проверять наличие более новых версий, чем в локальном хранилище. (Довольно грубым) решением было бы удалить библиотеку из локального репозитория перед вызовом maven. Затем он должен перезагрузить библиотеку.
Магоми
9
похоже, что все силы реимпортируются с флагом -U, что я и хотел :)
kubek2k
Я щелкнул правой кнопкой мыши по родительскому проекту и выполнил Maven -> Reimport и надеялся, что он обновит зависимости всех дочерних элементов, но этого не произошло. Спасибо за решение!
Botchniaque
6
Чтобы найти вкладку / окно «Проекты Maven», перейдите в «Вид»> «Окна инструментов»> «Проекты Maven»
Кевин Уилер,
64

Существует также один полезный параметр, который сообщает IntelliJ проверять наличие новых версий зависимостей, даже если номера версий не изменились. У нас был локальный репозиторий Maven и проект снимка, который несколько раз обновлялся, но номера версий оставались неизменными. Проблема заключалась в том, что IntelliJ / Maven не обновлял этот проект из-за фиксированного номера версии.

Чтобы включить проверку измененной зависимости, хотя номер версии не изменился, перейдите на вкладку «Проекты Maven», выберите «Настройки Maven» и там активируйте «Всегда обновлять снимки».

Бьорн Якобс
источник
2
ха! автоматические обновления в проекте JAVA ... Я должен сказать, что это не всегда победитель ... и даже может быть нахмурился с Maven 3+
beauXjames
@beauXjames .. это не сработало для меня, но я столкнулся с той же проблемой. как решить это.
Sathesh
1
Я часто захожу в локальный каталог репозитория ({user} \. M2 \ ...) и удаляю те, которые, как мне известно, связаны с моим проектом, затем разрешает процессу установки выйти и извлечь их заново с нуля, чтобы не было конфликтов версий
beauXjames
От help: «Установите этот флажок, если вы хотите, чтобы IntelliJ IDEA обновлял снимки при синхронизации». Другими словами, он не полностью автоматический - вы должны Synchronize(в контекстном меню или Ctrl-Alt-Y), но включение этой опции заставляет его получать обновленные SNAPSHOTверсии. ВНИМАНИЕ: Могут быть и другие тонкости, такие как Import Changes- кажется, это пока не совсем воспроизводимо для меня. Может быть, все это было в моем воображении - то, что, кажется, всегда работает, является полным, reimportкак предлагается в других ответах.
nobar
36

Для IntelliJ IDEA 14.0

Project> [название вашего проекта]> щелкните правой кнопкой мыши> Maven> Reimport

TeeJay
источник
17

Если повторный импорт не работает (т.е. не удаляет старые версии зависимостей после обновления pom), есть еще один шанс:

  • открыть настройки проекта (CTRL + SHIFT + ALT + S)
  • в модулях удалите все библиотеки, которые вы хотите импортировать (например, дубликаты)
  • ИДЕЯ предупредит, что некоторые все еще используются, подтвердите
  • Применить и выбрать ОК
  • затем повторно импортируйте все maven проекты.
Андреас Долк
источник
16

Самая левая кнопка (синий цикл) ниже также повторно импортирует все maven проекты:

введите описание изображения здесь

Умут Узун
источник
9

запустить эту команду mvn -U clean install

Бабаджиде Апата
источник
3
Хотя это решение, оно должно быть сделано из CLI. Вопрос в том, чтобы сделать это изнутри IDEA.
talonx
в среде IDE вы можете выполнить цель maven и использовать приведенную выше команду, не открывая CLI или терминал
Babajide Apata
2
Это побеждает цель интеграции maven в IDEA.
talonx
1
Мы говорим об опции -U, которой нет в IDEA. Опция «Reimport» звучит так, как есть, но это не так.
talonx
1
Я вижу, что вы имеете в виду ввод и выполнение maven цели, и в этом случае это возможно. Тем не менее, я имел в виду, что -U нет во встроенном меню справа («Проекты Maven»).
talonx
3

У меня была проблема, когда IntelliJ не смог скомпилировать классы, утверждая, что зависимости между проектами отсутствовали. Повторное импортирование проекта, как предложено в ответах на этот вопрос, не решило проблему. Решение для меня было:

  1. удалить все проекты (вкладка проекта / щелкнуть правой кнопкой мыши на корневой папке / maven / удалить проекты);
  2. закройте редактор;
  3. скомпилировать все проекты с Maven из командной строки;
  4. открыть редактор в том же проекте;
  5. снова добавить проекты в maven (вкладка maven / добавить проекты maven (зеленый +) / выбрать корневую помпу);

ВНИМАНИЕ: в некоторых проектах вам может потребоваться увеличить максимальный объем памяти для импорта в Maven (настройки maven на вкладке maven / Импорт / Параметры VM для средства импорта).

Мануэль Ромейро
источник
3

Настройка> Maven> Всегда обновлять снимки

nobjta_9x_tq
источник
0

Если вы используете диапазоны версий для каких-либо зависимостей, убедитесь, что IntelliJ использует Maven 3 для импорта проекта. Вы можете найти эту настройку в: Settings > Maven > Importing > Use Maven3 to import project. В противном случае вы можете обнаружить, что версии SNAPSHOT импортированы неправильно.

vegemite4me
источник