Импорт зависимостей Maven в IntelliJ IDEA

У меня есть небольшой вопрос о IntelliJ IDEA 11. Я просто импортировал проект из подрывной деятельности - его проект maven. Но у меня проблема в зависимостях библиотеки maven, поэтому я не могу автоматически включать все зависимости maven - IDEA показывает ошибки зависимостей только тогда, когда я открываю этот класс /Thats, что я получаю здесь:

enter image description here

Итак, я хочу, чтобы все зависимости были добавлены автоматически - возможно ли это или мне нужно пройти через все файлы классов для определения и добавления зависимостей maven?!

UPDATE: после некоторых изменений я нашел способ решить мою проблему. Вот что я сделал: enter image description here

но я думаю, что логически он не будет включать и проверять новые зависимости впереди?!... Есть ли какая-либо область настроек для этого в intelliJ - зависимости автоматического экспорта к пути к классам?!

Ответ 1

IntelliJ должен автоматически загружать и добавлять все зависимости к пути к классу проекта, если ваш POM совместим и все зависимости доступны.

При импорте проектов Maven в IntelliJ обычно появляется информационное окно с вопросом, хотите ли вы настроить Auto-Import для проектов Maven. Это означает, что если вы внесете какие-либо изменения в POM, эти изменения будут загружены автоматически.

Вы можете включить такую ​​функцию, выбрав "Файл" > "Настройки" > "Maven" > "Импорт", появится флажок "Автоматически импортировать проекты Maven".

Если это не поможет, я бы предложил сделать полную очистку и начать заново:

  • Закройте окно проекта (и IntelliJ) и удалите все файлы *.iml и все папки .idea (каждый модуль должен быть один)
  • Запустите mvn clean install из командной строки
  • Повторно импортируйте проект в IntelliJ и обратите внимание, когда он попросит вас включить автоматический импорт

Обновление IntelliJ 2016:

Автоматическая настройка Import Maven Projects была перенесена в Сборка, выполнение, развертывание > Инструменты сборки > Maven > Импорт в ваши настройки IntelliJ.

Ответ 2

Исправить до IntelliJ 14

Файл [меню] → Настройки → maven → импорт и снимите флажок "использовать maven3 для импорта проекта"

ссылка: http://youtrack.jetbrains.com/issue/IDEA-98425 (которая может иметь и несколько других идей)

Исправить IntelliJ 15+

Вновь столкнулся с этим, на этот раз с IntelliJ 15, у которого больше нет опции "использовать maven3 для импорта". Причина была в том, что иногда IntelliJ "неправильно разбирает maven-зависимости", и если он не может разобрать одну из них правильно, он, очевидно, разочаровывается во всех. Вы можете узнать, так ли это, открыв окно инструментов проектов Maven (меню "Вид" → "Окна инструментов" → "Проекты Maven"). Затем разверните один из ваших maven проектов и его зависимостей. Если все зависимости подчеркнуты красным, "Хьюстон, у нас проблема". enter image description here

Вы можете увидеть реальный провал, наведя курсор мыши на название проекта.

enter image description here

В моем случае он сказал "Проблемы: нет доступных версий для XXX" или "Не удалось прочитать дескриптор для артефакта org.xy.z" ref: https://youtrack.jetbrains.com/issue/IDEA-128846 и https://youtrack.jetbrains.com/issue/IDEA-152555

Кажется, в этом случае я имел дело с банкой, у которой не было связанного файла pom (в нашем репозитории maven nexus, а также в моем локальном репозитории). Если это тоже ваша проблема, то "обходите вокруг себя": если вам на самом деле не нужно использовать классы из этого jar в вашем собственном коде (например, только для транзитивной зависимости maven), вы можете на самом деле избежать комментариев из pom. (временно) перезагрузите проект maven, а затем раскомментируйте его. Каким-то образом после этого момента IntelliJ "запоминает" свои старые рабочие зависимости. Добавление временного исключения maven временно может также сделать это, если вы сталкиваетесь с ним из транзитивной цепочки зависимостей. "

Другая вещь, которая может помочь, - это использовать "более новую версию" maven, чем в комплекте 3.0.5. Чтобы настроить его на использование по умолчанию, закройте все окна intellij, затем откройте настройки → сборка, выполнение и развертывание → инструменты сборки → maven и измените домашний каталог maven, он должен сказать "По умолчанию". Проект "вверху", когда вы настраиваете это, хотя вы можете настроить его и для конкретного проекта, если вы "импортируете" его после настройки.

Очистить кеши

Удаление ваших папок кеша intellij (windows: HOMEPATH/. {IntellijIdea, IdeaC} XXX linux ~/.IdeaIC15) и/или удаление и переустановка самого IntelliJ. Это также можно сделать, перейдя в File [menu] → Invalidate Caches/Restart... Нажмите " invalidate and restart. Это позволит переиндексировать весь ваш проект и решить многие сложные проблемы с IntelliJ.

Ответ 3

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

Ответ 4

Попробуйте повторно импортировать проект с панели Maven Projects в IntelliJ IDEA. Он должен автоматически загружать и настраивать все зависимости, определенные в вашем pom.xml.

Если загрузка по какой-либо причине не работает из IDEA, попробуйте mvn install из командной строки и посмотрите, могут ли быть получены зависимости.

Конечно, все необходимые зависимости и любые пользовательские репозитории должны быть определены непосредственно в файле pom.xml.

Ответ 5

Для IntelliJ 2016-2.4 (и я считаю, что это другие новые версии):

Просмотp > Инструментальные окнa > Проекты Maven

На вновь открывшейся панели инструментов выберите настройки Maven (значок набора инструментов).

Когда откроется этот экран, разверните меню Maven и нажмите "Импортировать"

Здесь нажмите "Импортировать проекты Maven автоматически". Также убедитесь, что опция "JDK for Importer" соответствует версии JDK, которую вы хотите использовать.

Нажмите "ОК". Теперь перейдите к красной зависимости в вашем pom.xml, выберите красную лампочку и нажмите "Обновить индексы Maven".

Ответ 6

Что помогло мне:

Navigage: Настройки | Создание, выполнение, развертывание | Maven

Укажите "домашний каталог Maven" - место, где вы установили maven

Ответ 7

Если некоторые модули maven не компилируются, проверьте, находится ли их pom.xml в списке "проигнорированные файлы". В IntelliJ goto

настройки → настройки проекта → maven → проигнорированные файлы

и проверьте, не связан ли соответствующий pom.xml.

Ответ 8

Откройте IntelliJ Idea, перейдите к   Файл > Другие настройки > Настройки по умолчанию... > Maven (Предпочтения) > Импорт или |  Preferences > Maven > Importing

enter image description here

Нажмите Включить автозагрузку в консоли.

enter image description here

Ответ 9

При создании нового проекта вам просто нужно выбрать опцию:

...
Импорт проекта из внешней модели
Создать структуру проекта IDEA по существующей внешней модели (Eclipse, Maven...)
...

Вы найдете это довольно прямолинейно оттуда.
И в вашем случае вы можете закрыть свой проект и просто создать новый. Выберите каталог проекта, который переопределит его, сделав его проектом Maven.

Ответ 10

Импорт зависимостей Maven может не работать, если вы импортируете один и тот же путь несколько раз. Это может произойти автоматически после импорта существующего проекта maven. Я не могу понять, почему это происходит, поэтому я склонен думать, что это ошибка.

Например, если мой проект

hibernate
  src/main
  src/test

три пути могут быть импортированы как верхние узлы:

hibernate
src/main
src/test

Если это так, зависимости выглядят правильно, но они не будут использоваться до тех пор, пока вы не удалите лишние пути (в этом случае src/main и src/test). После этого обновите и нажмите "Сборка" > "Восстановить проект". IDEA подберет зависимости.

Симптомом этой проблемы является то, что IDEA предупреждает вас о дублированном пути, когда вы вручную проверяете библиотеку (второй скриншот в вопросе).

Существует несколько способов перечитать зависимости в случае необходимости. Если вы перейдете на вкладку "Maven Projects", в левом верхнем углу вкладки появится значок "Reimport All Maven Projects". Если вы подозреваете, что IDEA запутались, вы можете нажать "Файл" > "Недействительные кеши".

Ответ 11

Перейдите в свою структуру проекта, в разделе "Настройки проекта", "Модули" выберите таблицу зависимостей. Для каждой зависимости измените область действия "Тест" на "Компилировать".

Ответ 12

Reimport проект. Если вы устанавливаете плагин maven, вы можете использовать это.

Щелкните правой кнопкой мыши по проекту → Maven → Reimport

Ответ 13

У меня была похожая проблема, в моем случае я использую пользовательский файл settings.xml который не был выбран из IntelliJ.

Решение:
File > Settings > Build, Execution, Deployment > Maven: User settings file (File > Settings > Build, Execution, Deployment > Maven: User settings file здесь мой File > Settings > Build, Execution, Deployment > Maven: User settings file settings.xml).

Ответ 14

Я столкнулся с проблемой, что некоторые подзависимости не могут быть решены в IntelliJ 2016.3.X. Это можно было бы исправить, изменив Maven home directory в настройках > Сборка, выполнение, развертывание > Инструменты сборки > Maven от Bundled (Maven 3) до /usr/share/maven.

После этого все подзависимости были решены, как в предыдущих версиях IntelliJ.

Ответ 15

Сначала проверьте путь, указанный для файла настроек пользователя: в Настройках → Построение, Выполнение, Разработка → Инструменты сборки → Maven. Поле должно иметь путь к файлу settings.xml вашего maven. Также в файле settings.xml должен быть указан правильный путь к удаленному хранилищу.

Ответ 16

У меня была похожая проблема с моим macbook, я просто сделал небольшое изменение в pom.xml и он начал загружать все зависимости:

Более ранние зависимости были написаны ниже для моей машины с Windows:

<dependencies>
 <dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>
</dependencies>

Я просто удалил теги <dependencies> и </dependencies> и он начал загружать все зависимости:

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>

Я не уверен, что это сработает у вас или нет.. но у меня сработало нормально.

Спасибо

Ответ 17

У меня возникла та же проблема, и я попробовал все ответы, упомянутые здесь, но ни один не помог.

Простое решение - перейти в папку вашего проекта, удалить все файлы .idea и .iml и перезапустить IntelliJ ide. Оно работает. Не нужно ничего делать с настройками.

Ответ 18

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

Ответ 19

Я решил эту проблему, обновив файл settings.xml с правильной конфигурацией зеркала, кажется, что intellij попытается загрузить метаданные из репозитория каждый раз, когда импортируется модуль maven.

Ответ 20

Угнать немного, чтобы добавить то, что в итоге работает для меня:

Перейдите на боковую панель Maven Projects на правом краю среды IDE и убедитесь, что ваши зависимости указаны правильно в вашем модуле. Предположим, что они есть, просто спросите IDEA reimport тогда (первая кнопка вверху, выглядит как две синие стрелки, образующие круг против часовой стрелки).

Как только я это сделал, и пусть IDEA перезагрузит проект для меня, все мои зависимости были волшебным образом поняты.

Для справки: это было с IDEA 13.1.2

Ответ 21

Я столкнулся с той же проблемой и попробовал все, что не решило проблему, я использовал Intellij версию 13.1.3

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

Надеюсь, это поможет!

Ответ 22

Maven - Reimport не работал у меня. У меня есть проект Spring в STS (Eclipse), и мое решение заключается в том, чтобы импортировать проект в IDEA следующим образом:

1) Файл - Новый - Проект из существующих источников... - выберите каталог - выберите Eclipse.
2) Установите Maven autoimport в true в настройках.
3) Затем щелкните правой кнопкой мыши в pom.xml и выберите "Добавить как проект Maven".

После этого он импортировал все.

Ответ 23

Я смог решить эту проблему, удалив ненужные модули из Настройки проекта -> Список модулей.

enter image description here

Оказывается, эти дополнительные модули были созданы IntelliJ IDEA автоматически, когда я создал проект IntelliJ путем импорта из папки проекта (вместо открытия pom.xml). Затем, после объявления проекта как проекта Maven, были созданы соответствующие модули, и существующие модули конфликтовали с ними. Также возможно исключить эти модули при создании проекта.

Ответ 24

Удаление папки .idea из каталога проекта, а затем повторный импорт проекта как проекта Maven - вот что мне помогло.

Ответ 25

В моем случае один из модулей по какой-то причине был проигнорирован. Чтобы решить эту проблему: Щелкните правой кнопкой мыши проблемный модуль и выберите "Отклонить проекты".

unignore project example

Ответ 26

В maven зависимости были включены для меня, когда я удалил секцию dependencyManagement xml и просто имел зависимости непосредственно в разделе проекта

Ответ 27

Если все остальное не удается, проверьте, действительно ли файл jar в вашем локальном хранилище .m2 действительно действителен и не поврежден. В моем случае файл не был полностью загружен.

Ответ 28

Ничего не работало для меня, пока я не попробовал "File --> Open", а затем перешел к самому файлу POM.

Ответ 29

Проблема заключается в том, что, несмотря на перечисление зависимостей в pom.xml, IntelliJ IDEA не перестраивает эти зависимости при запуске вашего проекта.

Что сработало для меня, так это:

Перейдите в раздел "Запустить" → "Изменить конфигурации...", найдите приложение, убедитесь, что раздел "Перед запуском:" расширен, щелкните значок "Зеленый плюс" и выберите "Построить проект".

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

Ответ 30

Мне пришлось правильно установить домашний каталог Maven в настройках и установить флажок "Импортировать проект maven автоматически" в разделе импорта в настройках. После этого он начал разрешать зависимости.