Идея Intellij ничего не может решить в maven


130

Я новичок в Intellij Idea, я просто импортирую проект pom.xml, но ide ничего не разрешил в зависимостях maven.

Все, что определено в pom.xmlзависимостях, при импорте в коде вызывает ошибкуcannot resolve symbol xxxxx

Но mvn installбудет работать, я пытаюсь импортировать зависимости в Project Settings/Librariesв .jarфайлах, то она работает, но может библиотека Разрешая язя определена в pom.xml? я не хочу делать это каждый раз.

Дополнительная информация:

Версия IDEA: 12.0.3, ОС: Windows 7, повторный импорт не работает, версия maven: 3.0.4, зависимости maven не существуют в библиотеках Exernal.

в idea.log нет исключений ...


Версия IDEA? Связанные исключения в idea.log ? Версия Maven? Какую ОС вы используете? Работает ли кнопка "Реимпорт" в Maven Projectsокне инструментов? Вы видите зависимости под External Librariesузлом в Project View?
CrazyCoder

Версия IDEA: 12.0.3, ОС: Windows 7, повторный импорт не работает, версия maven: 3.0.4, зависимости maven не существуют в библиотеках Exernal.
Взрыв

в idea.log нет исключений ...
Burst

Попробуйте IDEA 12.1 , включите Maven 3 в Settings| Maven| Importing, конфигурация сети также может повлиять на это .
CrazyCoder

спасибо за ваш ответ, сейчас он работает, но все еще есть проблема: зависимости, которые scope = system, не будут развернуты при запуске в tomcat.
Взрыв

Ответы:


119

В IntelliJ 12.1.4 я прошел Settings --> Maven --> Importingи убедился, что выбрано следующее:

  1. Автоматический импорт проектов Maven
  2. Создание модулей IDEA для проектов агрегатора
  3. Сохранить источник ...
  4. Исключить каталог сборки ...
  5. Использовать вывод Maven ...
  6. Сгенерированные папки souces: "обнаруживать автоматически"
  7. Фаза быть ...: "процесс-ресурсы"
  8. Автоматически загружать: "исходники" и "документацию"
  9. Используйте Maven3 для импорта проекта
    • Варианты ВМ для импортера: -Xmx512m

Это заставило меня избавиться от множества неразрешенных операторов импорта к тому, чтобы все было решено. Я думаю, что ключевым моментом здесь было использование Maven3 для импорта проекта ... Надеюсь, это поможет.


15
Это хорошо, но мне также пришлось загрузить проект как проект Maven - выберите File | Откройте свой pom.xml и подождите.
MaKri

3
И этот ответ, и первый комментарий устранили мою проблему. Спасибо, парни!
miken.mkndev

Мне нужно было еще больше увеличить объем памяти для импортера, и в итоге я выбрал -Xmx4096m (это большой проект). Это отличается от настроек памяти в idea.vmoptions!
Ясаммез,

Спасибо, у меня возникла проблема, когда Maven 3.0.5 (в комплекте) не привел бы к импорту зависимостей maven, но обновление для использования 3.3.9 позволило правильно импортировать все зависимости.
Мэтью Баккет

Не уверен, почему в IDEA нет контекстного меню, аналогичного Eclipse, для создания проекта на основе maven. С версией 2017.2 вам нужно сделать Файл> Другие настройки> Настройки по умолчанию> найти maven в поле поиска. У IDEA действительно плохой UX по сравнению с Eclipse
vikramvi

117

Я столкнулся с этой проблемой , идея не может загрузить все зависимые пакеты jar с помощью maven, я просто попробовал следующие операции:

 mvn -U idea:idea

тогда все зависимые пакеты jar загружаются из репозитория maven


4
Примечание. Этот плагин больше не используется. Он больше не поддерживается. maven.apache.org/plugins/maven-idea-plugin
petertc

6
Это единственное решение с этой страницы, которое работает и для меня !!
Nahab

Я столкнулся с этой проблемой долгое время ... и это спасло мне день (/ дней) ... Большое спасибо !!
codeMan

Для меня это полезно. Спасибо.
Анна Кайгородова

3
Может кто-нибудь объяснить, почему это работает? Это было единственное хорошее решение для меня, несмотря на то, что плагин был
Z3d4s

34

Я также получал эту ошибку, потому что проект импортировал основную и тестовую папки как модули. Нажмите Project -> Press F4 -> В настройках модуля удалите основную и тестовую папки и снова создайте проект. Проблема будет решена.


1
Это также оказалось моей проблемой после импорта существующего проекта Maven в IntelliJ 14.0.3 и выбора всех параметров по умолчанию во время процесса импорта.
Нейт Р.

После нескольких часов поисков это помогло мне. BlessUp!
SourceVisor

Это сработало и для меня! Кто-нибудь знает, почему это ломает разрешение?
dmi_

У меня это сработало, это самый простой способ, который я пробовал .. Спасибо!
rrw 01

1
+1 ... это полностью помогло мне. Кажется, все настроено нормально, pom.xml был прочитан, библиотеки присутствовали, но это нужно было сделать, чтобы ошибки исчезли.
davesbrain

34

Я столкнулся с этой проблемой при использовании экземпляра Maven 3 в комплекте с IntelliJ 14.

Я переключился на использование собственного локального экземпляра Maven через:

Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Maven Home Directory

Затем добавил путь к моему локально установленному экземпляру.введите описание изображения здесь

Это заставило волшебным образом проявиться зависимости.

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


1
Невероятно. Этот сработал у меня после сильной головной боли. Я скачал maven 3.5 из интернета. Большое спасибо !!
sumanth232

спас мой день !! Спасибо, Конор
Dota2

Ничего себе, после выполнения этого трюка внутри идеи что-то произошло. Спасибо, Коннор.
Bnrdo

Боже, я бы никогда не подумал о том, чтобы не использовать встроенную версию maven и использовать свою собственную. Он полностью сработал после того, как потратил пару часов, пробуя всевозможные вещи.
zen

Супер !! Это сработало как ветер. Большое спасибо за помощь.
Санджив

10

Я пробовал несколько вариантов, но этот наконец решил мою проблему. Я повторно импортировал проект , выполнив следующие действия в IntelliJ:

  1. Файл -> Создать -> Проект из существующих репозиториев
  2. Выберите свой проект из «Выберите файл или каталог для импорта».

  3. На следующем экране выберите «Импортировать проект из внешней модели» и выберите «Maven.

  4. На следующем шаге установите флажок « Импортировать проекты Maven автоматически » (это решило мою проблему).
  5. Завершите, выбрав профили, если необходимо

Для меня повторный импорт проектов maven не решил проблему для существующих проектов.


5

Для меня проблема в том, что мне пришлось установить флажок «Импортировать проекты maven автоматически» в разделе «Настройка»> «Maven»> «Импорт».


Спасибо! Это все еще актуальное решение для Intellij IDEA 2016. Импорт Maven позволил легко открыть существующий проект maven, в отличие от открытия проекта, которое вызвало множественные проблемы с зависимостями!
Exterminator13

5

Просто столкнулся с той же проблемой после обновления IntelliJ. Мое исправление: щелкните правой кнопкой мыши проект, затем maven -> повторно импортировать.


5
  1. Закройте IntelliJ
  2. Откройте тот же проект
  3. Когда проект загружается, в правом нижнем углу вы можете увидеть всплывающее окно с сообщением non-managed pom.xml file found, если вы нажмете на него, появится новое всплывающее окно с сообщением add as maven project, нажмите на него и готово.

4

Я получал эту ошибку, потому что мой проект был настроен неправильно. Он импортировал основную и тестовую папки в виде модулей. Когда я удалил 2 модуля (но сохранил их как исходную и тестовую папки), мой код начал правильно компилироваться.


4

У меня была такая же проблема, как у автора!

Чтобы решить мою проблему, мне пришлось добавить плагин интеграции Maven: Файл | Настройки | Плагины

Как это:

Плагин интеграции Maven

После этого Intellij загрузила все зависимости из файла pom.xml.

Теперь, если я хочу создать проект на основе модели maven, я просто выбираю Открыть в первом окне Intellij и выбираю файл pom.xml:

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


Это помогло мне. По какой-то причине я только попытался импортировать проект (большой проект Maven с множеством подмодулей).
Торбьёрн Кристофферсен

3

У меня был пустой файл settings.xml в Users /.../. M2 / settings.xml. Когда я добавил

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">

</settings>

все зависимости были загружены


2

Если вы импортировали свой проект maven в IntelliJ, и есть ошибки из-за того, что импорт maven не разрешается, это может быть из-за настраиваемого maven settings.xml, который вы можете использовать. Я попытался переопределить его в настройках Maven по умолчанию в Intellij, но это не помогло. Наконец, мне пришлось сохранить его в ~ / .m2 / settings.xml, и тогда IntelliJ, наконец, выполнил его.


Это настройка по умолчанию, да?
rogerdpack 02

1

В Настройки -> Maven -> Репозитории отображаются только некоторые репозитории, настроенные в моих настройках.

Временное решение

Вероятно, это ошибка (Idea 13.1.5 Ultimate). Помогло переключить зеркала. Тот, который не показывался наверху.


1

С intelliJ 16.1.4 у меня была такая же проблема. Вам следует взглянуть на журнал событий, потому что он сказал мне: «Найден неуправляемый файл pom.xml: ...» Затем я щелкнул по нему, и проблема была решена.


1

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


1

Если у вас есть какие-либо зависимости в pom.xml, характерные для вашей организации, вам необходимо обновить путь к setting.xml для вашего проекта, который по умолчанию установлен в ваш каталог пользователя в Ubuntu: /home/user/.m2/settings.xml - > (измените его на свой путь конфигурирования apache-maven)

Обновить файл Setting.xml Intellij


0

3 простых шага: IntelliJ 14:

  1. Файл> настройки> Сборка, выполнение, развертывание> Инструменты сборки

  2. Выберите Maven

  3. Домашний каталог Maven: C: / Program Files / apache-maven-3.3.3 (ваше эквивалентное местоположение)


0

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

В моем случае IntelliJ попытался вызвать метод org.eclipse.aether.util.ConfigUtils.getFloat(). Это вызвало ошибку java.lang.NoSuchMethodError, потому что моя многолетняя версия Maven еще не содержала этого метода. Из-за исключения IntelliJ перестал разрешать зависимости.

После обновления Maven вам необходимо изменить параметр «Домашний каталог Maven» в «Сборка, выполнение, развертывание» -> «Maven». После этого вы должны перезапустить IntelliJ, потому что путь к классам IntelliJ JVM не изменится во время работы.

Мне потребовалось некоторое время, чтобы решить эту проблему, так как я не ожидал, что IntelliJ будет использовать классы моей локальной установки Maven. Я думал, что он использует свои собственные JAR-файлы. Надеюсь, эта информация будет полезна другим.


0

<option name="workOffline" value="true" />in workspace.xmlне твой друг. Советую проверить это перед удалением вашего.idea (в котором есть много полезных настроек, которые вы, вероятно, не хотите терять)

Это workspace.xmlнастройка maven


0

Мне кажется, что решений этой проблемы много, и все они немного похожи на волшебство. Для меня аннулирование кешей, повторный импорт или что-то еще, что уже упоминалось, не работало. Единственное, что помогло, - это (без повторного импорта) перейти в настройки Maven, снять флажок автоматического импорта и снова проверить его.

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


0

есть проблема с прилагаемой версией Maven. как кто-то ранее предлагал, я переключился на свою собственную установку Maven, и зависимости волшебным образом работали (IntelliJ 2018.3)


0

У меня только что возникла эта проблема при добавлении <dependency>...</dependency>элементов в <profile>. Я только что обнаружил, что если я добавляю (вставляю) неразрешенные элементы зависимости к <dependencies>элементу, зависимости загружаются из репозитория maven; Затем я могу удалить элемент зависимости из элемента зависимостей.


0

Использование maven по умолчанию (которое поставляется с IntelliJ) также может создать эту проблему. Итак, настройте maven, который вы установили.

Это можно сделать из: Файл -> Настройки -> Сборка, Выполнение, Развертывание -> Maven.

Обновите следующие настройки в соответствии с вашей установкой maven:

  1. Домашний каталог Maven =
  2. Файл настроек пользователя =
  3. Локальный репозиторий =

0

Хорошо, я сталкивался с этой проблемой несколько дней. Пытался импортировать библиотеку POI и простую библиотеку JSON, я попробовал все предложенные ответы, и решение ничего не сработало. В конце концов, решение для моего случая было довольно простым

Мне просто нужно было добавить следующее в мой файл module-info.java после помещения зависимостей в мой файл POM:

 requires poi.ooxml;
 requires poi;
 requires json.simple;

поэтому я думаю, что, поскольку мой проект был в пакете в модуле, мне пришлось сделать это, чтобы система знала, что эти импортированные библиотеки будут использоваться. так просто поместите имя библиотеки после требования в свой файл module-info.java

Надеюсь, это сработает для тебя


0

перейдите во Внешние библиотеки и удалите из них все библиотеки, в которых говорится, что root после щелчка по повторному импорту всего проекта

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.