Maven + Tomcat горячее развертывание - PullRequest
3 голосов
/ 13 октября 2011

Я искал в интернете этот вопрос и не нашел ни одного решения. У нас есть проект maven, который использует профили для создания артефакта, подходящего для сред dev / qa / prod, выполняет минимизацию JS и CSS с помощью плагина YUI. Он использует Spring для внедрения зависимостей и Struts в качестве инфраструктуры пользовательского интерфейса. Ibatis используется как картограф ORM. Мы используем Eclipse IDE для Windows и не используем встроенное затмение, поскольку нам нужно развертывать серверы Unix. Теперь мой вопрос: есть ли способ развернуть это решение таким образом, чтобы изменения в файлы js, css, jsp, applicationContext из Spring, struts.xml, файлы ibatis mapper и, конечно же, код Java вступали в силу немедленно, без сервера? запустить снова. Я помню, что плагин spring-groovy поддерживает перезагрузку контекста для изменения файла groovy. Итак, я предполагаю, что должен быть способ поддерживать горячее развертывание.

Ответы [ 4 ]

2 голосов
/ 18 января 2013

Я считаю, что плагин maven tomcat работает медленно, потому что он всегда использует клиентский развертыватель tomcat и развертывает его по http-вызову менеджера, например localhost: 8080 / manager / text

Tomcat управляет механизмом перезагрузки веб-приложенийот "autoDeploy", что вы можете прочитать об этом здесь .Так как он перезагружается всякий раз, когда изменяется война приложений, я сделал следующее изменение в моем maven-war-plugin:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
        <outputDirectory>${my.tomcat.path}</outputDirectory>
    </configuration>
</plugin>

, где

<properties>
    <my.tomcat.path>[MY TOMCAT WEBAPP PATH]</my.tomcat.path>
</properties>

После этого мне нужно только сделать mvn compile war:war или mvn compile package

1 голос
/ 13 октября 2011

Вы можете попробовать плагин maven tomcat - в частности, tomcat: run goal. Вы также можете настроить плагин maven eclipse для создания динамического веб-проекта и последующего развертывания из eclipse.

0 голосов
/ 03 августа 2012

Интеграция Maven с Netbeans сделает это за вас. Просто Файл-> Открыть вашего проекта, нажмите Запустить (который развертывает и запускает веб-браузер для тестирования), затем измените свой код в IDE, и каждый раз, когда вы нажимаете сохранить, он будет горячим развернуть изменения.

0 голосов
/ 13 октября 2011

Это звучит для меня как JRebel . (извините за рекламный ролик).

...