2010-05-03 3 views
10

Я использую NetBeans 6.8, Tomcat 6 и Maven 2.2 и хочу немедленно увидеть изменения в моем коде в браузере (показывая http://localhost:8080) после сохранения файла.Инкрементное горячее развертывание на Tomcat с Maven и NetBeans

Кота-Maven-плагин имеет следующую конфигурацию:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>tomcat-maven-plugin</artifactId> 
    <version>1.0-beta-1</version> 
</plugin> 

Следуя к выходу он должен выполнить развертывание на месте.

Что можно сделать, чтобы сразу увидеть изменения в моем Java-коде в браузере?

ответ

0

Посмотрите на Hot Deployment of a Web Application with Maven in NetBeans. Я также предлагаю проверить Glassfish Hot Code Re-deployment (on Maven), особенно сообщение о компиляции на Save, и попробовать GlassFish, вы можете получить лучшие результаты.

+0

У меня такое же поведение на GlassFish. Единственное, что случилось, это то, что я не могу выбрать «Tomcat» в настройках проекта после моего пробного теста GlassFish :-( – deamon

0

Используйте цель tomcat:inplace, чтобы вызывать ваш webapp из своих скомпилированных классов и источников.

У вас могут возникнуть проблемы с блокировкой файлов в Windows. Существует несколько workarounds, таких как атрибут contet antiJarLocking, но по существу это сводится к тому, что ваш webapp не будет корректно закрыт, и в конечном итоге выйдет из памяти вашей виртуальной машины после нескольких перезагрузок. В моем случае я использовал Spring, и «правильное» исправление заключалось в том, чтобы добавить метод destroy на некоторые ключевые компоненты, чтобы приложение было изящно выключено.

Maven Tomcat Plugin - tomcat:inplace

1

Я потратил много времени, пытаясь получить эту работу. Наконец я просто использовал причал. Я положил это:

<plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>${jetty.version}</version> 
      <configuration> 
       <reload>automatic</reload> 
       <scanIntervalSeconds>5</scanIntervalSeconds> 
      </configuration> 
    </plugin> 

Может быть, все параметры не являются правильными, но затем я создал пользовательскую цель «причала: запустить» И я использую это. Я не могу использовать большую зеленую кнопку «Run», но развертывание причала прекрасно работает, и оно горячо развертывает любые изменения в классах Java.

1

Посмотрите на JRebel. Он должен делать то, что вы хотите. Безболезненно.

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