2013-03-03 2 views
0

Короткая версия: Я хотел бы развернуть Maven генерироваться WAR на локальный сервер Tomcat, а не строить войну с внутренним процессом IDEA, поскольку полученный файл WAR не то же самое, как Maven сгенерированный.Netbeans Maven проект IDEA 12

Длинная версия: Я использую NetBeans IDE для моего проекта Maven Java. Один из модулей упакован как WAR и должен быть развернут на сервер tomcat. В Netbeans, когда я выбрал «Run» на веб-модуле, он запрашивает конфигурацию сервера приложений, затем он запускает цель «maven» и развертывает приложение (сгенерированное WAR) на Tomcat Server, вероятно, через менеджера Tomcat. Все идет нормально.

Сейчас мы переходим на язык Scala. Классы Scala расширяют старые классы Java, и проект теперь «смешанный». Я сконфигурировал Maven для компиляции проекта в виде сочетания scala и java-кода. Maven производит WAR, который затем может быть развернут на сервере Tomcat без проблем - все работает так, как должно.

Теперь я хотел бы перейти на Intellij-idea 12 IDE. Но у меня проблема: IDEA отказывается развернуть Maven, создавая артефакты, и настаивает на том, чтобы создать один из своих. Война не то же самое и не может быть использована. Есть ли способ сказать ИДЕЯ использовать созданные Maven WAR и не пытаться сделать это самостоятельно?

Только для записи я уже читал эти статьи:

+0

Добро пожаловать в фантастический мир разъемов Maven для IDE. Я страдал [аналогичная проблема в Eclipse] (http://stackoverflow.com/questions/14728040/wtp-m2e-not-deploying-dependencies), где работала война Maven, а не сгенерированная Eclipse. Я боюсь, что все, что вы можете сделать, это развернуть его вручную. –

+0

Все работает как шарм в Netbeans, так как он просто развертывает WAR-файл. Возможно, есть способ сделать это с помощью IDEA, которого я еще не нашел. –

+2

Использование ** Внешний источник ** [вариант развертывания] (http://img89.imageshack.us/img89/9527/20130303215725xb.png) в сервере приложений. Запустите конфигурацию.Перед запуском вы можете настроить цель Maven для выполнения вместо Make и использовать папку, созданную Maven в качестве внешнего источника. – CrazyCoder

ответ

2

С помощью CrazyCoder я понял это.

Вы можете сделать Intellij-идея, чтобы загрузить войну, выбрав внешний источник External Source add Dialog

Но это еще не все, даже если у вас есть файл context.xml difining свой корень контекста внутри файла WAR: http://docs.oracle.com/javaee/1.4/tutorial/doc/WebApp3.html

вы должны указать один для каждого артефакта вы развертывают (если кто-то меня поправит) You must specify Root Context

перед запуском секция может быть использована, чтобы сказать, что идея Maven цели Выполнить если enter image description here

+0

Мне интересно, есть ли способ в IDEA прочитать «Контекстный корень» из файла context.xml внутри «src/webapp/META-INF/context.xml» и не указывать его вручную для каждого развертывания? –

Смежные вопросы