Как удалить модули из проекта Intellij Maven навсегда?

в настоящее время я работаю над крупномасштабным проектом Maven в IntelliJIdea 12.1.6 Ultimate. Я работаю с IntelliJIdea около 5 месяцев.

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

пом.xml удаленных модулей в Intellij, похоже, помещается в Настройки->Maven->игнорируемые файлы. Я не могу удалить его оттуда, только проверить или снять флажок. Невозможно снова включить модуль, так как IntelliJ скажет, что он все еще находится под игнорируемыми файлами.

2 способа позволяют мне скомпилировать снова: снимите флажок pom из игнорируемых файлов, который снова включит модуль в мой проект. Или удалите источник зависимого модуля, чтобы мой проект загрузил зависимый модуль из репозитория maven. Но всякий раз, когда я обновляю свой проект из svn, источник зависимого модуля восстанавливается (я не знаю, почему это происходит, так как он не является частью моего проекта), и цикл начинается заново.

я погуглил это некоторое время, так как это становится очень раздражающим. Возникла проблема с несколькими исключенными модулями. Я мог бы перестроить intellij-проект с нуля, но поскольку было сделано много настроек IntelliJ (не связанных с проблемой), я бы предпочел решить эту проблему.

любая помощь оценили, я думаю, я должен что-то пропустить

3 ответов


коллега, который имеет более глубокие знания maven, сказал мне ответ:

фокус не в том, чтобы удалить исходный модуль из проекта intellij, а в том, чтобы удалить его из maven (на вкладке Maven projects в intellij). Intellij попросит затем удалить исходный модуль также из проекта intellij и его, наконец, ушел.

щелкните правой кнопкой мыши на проекте maven - > удалить проекты

не догадался бы, что это имеет такое значение.


любой из этих двух пунктов работает для вас:

  • новая в одном из ваших модулей может быть зависимость, указывающая на удаленный артефакт. Чтобы убедиться, что это ситуация, вы можете переименовать свой $HOME/.м2 и перестроить проект. Если это действительно так, просто найдите зависимость в своих poms и удалите ее из подмодулей
  • правой кнопкой мыши на родительский элемент pom.xml - > Maven - > Реимпорт
  • скопируйте проект в отдельный реж. Файл - > импорт проекта - > выберите вновь созданный dir - > выберите Maven?

PS. Идея превосходна в поддержании структуры проекта в соответствии с проектом Maven. Как только вы внесете изменения в свой пом, вам нужно перезагрузить проект. Идея также может автоматически обнаруживать изменения, внесенные в ваш pom.xml и применить их к проекту. Чтобы включить это, нажмите Ctrl + Shift+A типа 'Мэйвен авто, выбрать "импорт", флажок "импорт проекта Maven автоматически";


Это может не относиться непосредственно к OP, но...

используя IntelliJ 2016.5, чтобы удалить модуль Maven и это базовый исходный код и удалите его как суб-модуль из родительского, перейдите в Project Files tab, найдите нежелательный модуль и используйте символ треугольника, чтобы открыть его,затем удалить запись, которая представляет его на диск.

удара Delete на самом модуле будет только пометить его как скрытый внутри ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ.