Ідея Intellij не може нічого вирішити в Maven


130

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

Все, що визначається 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 Libraries.

у idea.log немає винятків ...


Версія IDEA? Будь-які пов'язані винятки в idea.log ? Версія Maven? Яку ОС ви використовуєте? Чи працює кнопка Reimport у вікні Maven Projectsінструменту? Ви бачите залежності під External Librariesвузлом у Project View?
CrazyCoder

Версія IDEA: 12.0.3, ОС: Windows 7, реімпорт не працює, версія maven: 3.0.4, залежність від maven не існує в Exernal Libraries.
Вибух

у idea.log немає винятків ...
Burst

Спробуйте IDEA 12.1 , увімкніть Maven 3 in Settings| Maven| Importing, конфігурація мережі також може вплинути на неї .
CrazyCoder

спасибі за вашу відповідь, вона працює зараз, але все ще існує проблема: залежності, які область = система не буде розгорнута при запуску в tomcat.
Вибух

Відповіді:


118

У IntelliJ 12.1.4 я пройшов Settings --> Maven --> Importingі переконався, що вибрано наступне:

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

Це призвело до того, що я маю багато невирішених заяв на імпорт, щоб все вирішити. Я думаю, що ключовим тут було використання Maven3 для імпорту проекту ... Сподіваємось, це допомагає.


15
Це добре, але мені також довелося завантажувати проект як проект Maven - виберіть File | Відкрийте, ваш pom.xml і зачекайте.
MaKri

3
І ця відповідь, і перший коментар вирішили мою проблему. Спасибі, хлопці!
miken.mkndev

Мені потрібно було ще більше збільшити пам’ять для імпортера і нарешті пішов з -Xmx4096m (це великий проект). Це відрізняється від налаштувань пам’яті в Ide.vmoptions!
Ясаммез

Дякую, у мене виникла проблема, коли Maven 3.0.5 (в комплекті) призведе до того, що не буде імпортовано залежних залежностей, але оновлення до використання 3.3.9 дозволило всі залежності імпортувати правильно.
Меттью Бакетт

Не впевнений, чому IDEA не має контекстного меню, подібного до Eclipse, для створення проекту на базі Maven. З версією 2017.2 вам потрібно зробити Файл> Інші налаштування> Налаштування за замовчуванням> пошук Maven у полі пошуку. IDEA справді поганий UX порівняно з Eclipse
vikramvi

116

Я зіткнувся з цією проблемою - ідея не може завантажити всі залежні пакети jar за допомогою Maven, я просто спробував такі операції:

 mvn -U idea:idea

то всі залежні пакети jar завантажуються з сховища Maven


4
Примітка. Цей плагін вимкнено. Він більше не підтримується. maven.apache.org/plugins/maven-idea-plugin
petertc

6
Це тільки рішення з цієї сторінки, яке працює для мене теж !!
нахаб

Я давно стикаюся з цим питанням .. і це врятувало мені день (/ дні) ... Дуже дякую !!
codeMan

Це мені корисно. Дякую.
Анна Кайгородова

3
Хтось може пояснити, чому це працює? Це було єдине хороше рішення для мене, незважаючи на плагін, який вийшов у відставку, грудня 2017 року.
Z3d4s

34

Я також отримував цю помилку, оскільки проект імпортував основні та тестові папки як модулі. Клацніть на Проект -> Натисніть F4 -> У налаштуваннях модуля вийміть основні та тестові папки та зробіть проект ще раз. Проблема буде вирішена.


1
Це також виявилося моєю проблемою після імпорту існуючого проекту Maven в IntelliJ 14.0.3 та вибору всіх параметрів за замовчуванням під час імпорту.
Нейт Р.

Після годин пошуків це зробило для мене трюк. BlessUp!
SourceVisor

Це працювало і для мене! Хтось знає, чому це порушує резолюцію?
dmi_

Це працювало для мене, це найпростіший, який я спробував .. Дякую!
rrw

1
+1 ... це повністю зробило трюк для мене. Здавалося, все було налаштовано добре, pom.xml було прочитано, бібліотеки були присутніми, але це потрібно зробити, щоб помилки вийшли з ладу.
davesbrain

34

Я зіткнувся з цією проблемою, коли використовував пакет IntelliJ 14 в комплекті Maven 3.

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

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

Потім додав шлях до мого локально встановленого екземпляра.введіть тут опис зображення

Це отримало залежності магічно проявитись.

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


1
Неймовірно. Цей працював на мене, після сильного головного болю. Я завантажив maven 3.5 з Інтернету. Дуже дякую !!
sumanth232

врятував мій день !! Дякую
Конору

Нічого собі не здавалося, що щось замислюється в ідеї після виконання цього фокусу. Дякую Коннору
Бнрдо

Боже, я ніколи не думав про те, щоб не використовувати пакетну версію Maven і використовувати свою власну. Це повністю спрацювало, витративши пару годин на пробування всіляких речей.
Дзен

Супер !! Це працювало, як вітер. Дякую тонну за допомогу.
Санджив

10

Я спробував кілька варіантів, але цей остаточно вирішив мою проблему. Я повторно імпортував проект , виконавши наступні кроки в IntelliJ:

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

  3. На наступному екрані виберіть "Імпортувати проект із зовнішньої моделі" та виберіть "Maven.

  4. На наступному кроці встановіть прапорець " Імпортувати проекти Maven автоматично" ", (це вирішило мою проблему)
  5. Закінчіть, вибравши профілі, якщо це необхідно

Для мене реімпорт проектів Maven не вирішив питання для існуючих проектів.


5

Для мене проблема, що мені довелося встановити прапорець "Імпортувати проекти Maven автоматично" у розділі Налаштування> Maven> Імпорт


Дякую! Все ще є сучасним рішенням для Intellij IDEA 2016. Імпорт Maven дозволив безперешкодно відкривати існуючий проект Maven на відміну від відкриття проекту, що спричинило багато проблем залежностей!
Винищувач13

5

Щойно стикалися з тією ж проблемою після оновлення IntelliJ. Моє виправлення: клацніть правою кнопкою миші на проект, потім Maven -> reimport.


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

4

Я отримував цю помилку, оскільки мій проект не був налаштований правильно. Він імпортував основні та тестові папки як модулі. Коли я видалив два модулі (але зберіг їх у вигляді вихідних і тестових папок), мій код почав правильно збирати.


4

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

Щоб вирішити свою проблему, мені довелося додати плагін Maven Integration: File | Налаштування | Плагіни

Подобається це:

Плагін інтеграції Maven

Після цього Intellij завантажив усі залежності з файлу pom.xml.

Тепер, якщо я хочу створити проект на основі моделі Maven, я просто вибираю Open у першому вікні Intellij і вибираю файл pom.xml:

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


Це зробило для мене трюк. Чомусь я лише намагався імпортувати проект (великий проект Maven з багатьма підмодулями).
Torbjørn Kristoffersen

2

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


Це налаштування за замовчуванням, так?
rogerdpack

2

У мене був порожній файл settings.xml в Користувачах /.../. 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>

всі залежності були завантажені


1

У налаштуваннях -> Maven -> сховища відображаються лише деякі сховища, налаштовані в моїх налаштуваннях.

Обхід

Це, мабуть, помилка (Ідея 13.1.5 Ultimate). Це допомогло мені перемикати дзеркала. Той, що не показувався до верху.


1

З intelliJ 16.1.4 у мене був той самий випуск. Ви повинні ознайомитись з журналом подій, оскільки він сказав мені: "Не керований файл pom.xml знайдено: ..." Потім я натиснув на нього і проблема була вирішена.


1

У моєму випадку я розширив панель проектів Maven з правого боку, натиснув + та додав проект. Тоді це спрацювало.


1

Якщо у вас є будь-які залежності в pom.xml, характерні для вашої організації, ніж вам потрібно оновити шлях setu.xml для вашого проекту, який за замовчуванням встановлений у вашому каталозі користувачів в Ubuntu: /home/user/.m2/settings.xml - > (змініть його на ваш контур конфігурації apache-maven)

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


0

3 прості кроки: IntelliJ 14:

  1. Файл> налаштування> Збірка, виконання, розгортання> Інструменти побудови

  2. Виберіть Maven

  3. Домашній каталог Maven: C: / Файли програм / apache-maven-3.3.3 (ваше еквівалентне місце)


0

Майте на увазі, що IntelliJ додає класи локальної установки Maven на свій власний клас шлях, тому слідкуйте за цим.

У моєму випадку IntelliJ намагався викликати метод org.eclipse.aether.util.ConfigUtils.getFloat(). Це спричинило аjava.lang.NoSuchMethodError , тому що моя старовинна версія Maven ще не містила цього методу. Через виняток IntelliJ припинив вирішувати залежності.

Після оновлення Maven вам потрібно змінити налаштування "Домашній каталог Maven" у "Build, Execution, Deployment" -> "Maven". Після цього слід перезапустити IntelliJ, оскільки класний шлях JVM IntelliJ не зміниться під час роботи.

Щоб вирішити цю проблему, у мене знадобився певний час, оскільки я не очікував, що IntelliJ буде використовувати класи моєї локальної установки Maven. Я думав, що він використовує власні пакетні JAR. Тож сподіваємось, ця інформація є корисною для інших.


0

<option name="workOffline" value="true" />в 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:

  1. Домашній каталог Maven =
  2. Файл налаштувань користувача =
  3. Локальний сховище =

0

Гаразд, я цією проблемою стикався цілими днями. Намагався імпортувати бібліотеку POI та просту бібліотеку JSON, я спробував усі запропоновані відповіді та рішення, нічого не вийшло. Зрештою, рішення для мого випадку було досить простим

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

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

тому я думаю, оскільки мій проект був у пакеті в модулі, я повинен був зробити це, щоб система знала, що ці імпортовані бібліотеки будуть використовуватися. так просто введіть ім’я бібліотеки після вимагання у файл module-info.java

Сподіваюся, це працює для вас


0

перейдіть до Зовнішніх бібліотек і видаліть усі бібліотеки, на яких написано корінь, після натискання на повторний імпорт усіх проектів

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.