IntelliJ IDEA: Maven, компиляция и развертывание проектов - PullRequest
45 голосов
/ 24 февраля 2011

Может ли кто-нибудь объяснить мне, как IntelliJ IDEA работает над компиляцией, развертыванием и компоновкой с помощью связанного проекта maven

Я столкнулся с некоторым недоразумением при запуске сервера Tomcat через режим отладки IDEA. Например, у меня есть один артефакт - военный архив. Как я понимаю, когда я работаю в режиме отладки - IDEA перекомпилирует и обновляет измененный код в war-архив.

Но что происходит с упакованным артефактом maven? IntelliJ обновляет его? Или я должен установить опцию «Buld maven перед запуском», чтобы быть уверенным, что измененный код будет загружен в среду?

Ответы [ 2 ]

61 голосов
/ 28 апреля 2011

Intelli J не использует maven для сборки проекта, он использует собственный процесс сборки.Он использует pom-файл в качестве описания проекта.

Это означает несколько вещей: если вы хотите создать артефакт, такой как файл war, при запуске в tomcat, то все, что вам нужно сделать, это сказать IntelliJ, чтобы он создавал войну в диалоговом окне Run / Debug Configurations.IntelliJ автоматически создаст любые артефакты, которые вы укажете на вкладке развертывания вашей конфигурации запуска / отладки.Таким образом, если вы укажете взорванную войну, она будет строить взорванную войну, если вы укажете обычную войну, она будет строить обычную войну.

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

Вы также можете указать intellIJ запускать цель пакета maven, а не создавать артефакт.IntelliJ развернет все, что находится в целевом каталоге, на tomcat.

Важно отметить, что IntellIJ использует две отдельные системы сборки.Вы должны сказать каждой системе сборки, что делать.И вам нужно сообщить IntelliJ, какую систему сборки использовать для чего.IntelliJ по умолчанию будет использовать свою собственную систему сборки после импорта проекта, если вы не скажете ему использовать maven для чего-либо.

Несмотря на то, что IntelliJ будет создавать артефакт, указанный в файле pom, он не будет выполнять такие действия, как развертывание своего хранилища артефактов (локального или другого), если вы не нажмете цель развертывания в окне инструментов Maven.

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

0 голосов
/ 28 апреля 2011

Я думаю, вы ищете это.

Плагин Maven IDEA

Плагин IDEA используется для создания файлов (ipr, iml и iws) для проекта, чтобы вы могли работать над ним с помощью IDE, IntelliJ IDEA.

Надежды, которые помогают

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