Intellij не может разрешить транзитивные зависимости - PullRequest
2 голосов
/ 30 апреля 2019

У меня странная проблема, mvn clean install -Dproject.version=1 или jenkins сборка проходит нормально, но intellij весь в красном и злой, когда я открываю модули в IDE, это влияет на разработку.

Я вижу ниже проблему в intellij журналах

Недопустимый POM для << module >>, транзитивные зависимости (если есть) будет недоступно, включите ведение журнала отладки для более подробной информации

Код защищен авторским правом, поэтому не может быть раскрыт, но вот основная схема

  • fabric-common: базовый модуль ( общая матрица для связывания всего проекта , содержит все клиенты и модули БД) - давайте назовем его FC
  • Утилиты: рассматриваемый модуль (import s FC) и использует модули db - позволяет вызывать утилиты U

Теперь U весь красный, потому что он не может найти DAO для db, если U s POM явно содержит db модулей, каждый из которых счастлив.

Auto-Import для intellij включено, импорт выполняется на maven3, и локальный репозиторий также обновлен с правильной версией.

Это известная проблема или какая-либо помощь?

Intellij детали

enter image description here

Редактировать

Предложенный вопрос как дубликат - это проблема, связанная с maven, которая не может разрешить зависимости, но в моем случае, maven сборка из командной строки или jenkins в порядке, но IDE завершается неудачей.

1 Ответ

1 голос
/ 30 апреля 2019

вы можете попытаться

  • аннулировать кеш перезапустить
  • удалить .iml и .ipr файлы
  • очистить Project structure (если я помнюправильно) библиотеки или артефакты.Просто удалите их, чтобы они обновлялись через Maven.
  • запустите mvn idea:idea

в произвольном порядке.Я не могу вспомнить, какой это был, но я бы сделал ставки на .ipr / .iml, очистил Project structure и Invalidate restart

Редактировать

вот что сработало


убедитесь, что intellij открыт, прежде чем мы начнем делать это (необходимо для аннулирования кэша на шаге 3), и вы установили maven3 в качестве домашнего каталога (Preferences -> Build, Execution, Deploymnet -> Maven : Maven Home directory)

удалить всеiml, ipr, iws

cd <parent dir of project>
find project/ -type f -name "*iml*" -exec rm {} \;
find project/ -type f -name "*ipr*" -exec rm {} \;
find project/ -type f -name "*iws*" -exec rm {} \;

удалить локальный репозиторий

   cd ~/.m2
   mv repository* ~/Desktop/

:: закрыть окно проекта intellij (не intellij, просто окно проекта)

:: invalidateкэширование и перезапуск (это закроет intellij и перезапустится с пустым экраном)

:: после открытия intellij откройте проект, выбрав POM уровня проекта (это снова приведет к повторному импорту всех зависимостей в локальной сети - ту, которую мы удалили вшаг 4)

cd < project path >

:: run (в терминале intellij, если возможно - здесь суеверно ?) - это обновит локальный intellij:

mvn -U idea:idea -Dproject.version=1.0

:: щелкните правой кнопкой мыши на pom.xml конкретного проекта, Maven -> Reimport

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