Веб-разработка с Jetty & Maven - PullRequest
7 голосов
/ 23 марта 2010

Мне очень неприятно заниматься веб-разработкой с Maven & Jetty с использованием Eclipse, сравните с тем, что я делал с помощью Visual Studio. Каждый раз, когда я делаю изменения, даже незначительные изменения в моем файле вида (например, * .jsp), мне приходится перепаковывать всю сеть -> в ожидании, пока Jetty перезагрузит все, прежде чем я смог увидеть изменения. 1001 *

Есть ли лучший способ сделать это, например, автоматический плагин, который будет выбирать измененные файлы и развертывать измененные файлы на веб-сервере?

Ответы [ 2 ]

13 голосов
/ 23 марта 2010

То, как вы используете Maven, Jetty (и Eclipse) вместе, неясно, но поскольку вопрос помечен как Maven, я расскажу о пути Maven. С проектом типа war один простой способ запустить и запустить веб-приложение - это использовать Плагин Maven Jetty . Для этого просто добавьте следующий фрагмент в POM:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.10</version>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

С этой настройкой, запуск mvn jetty:run запустит контейнер с молнией с развернутым приложением. Любое изменение в представлении приведет к перекомпиляции JSP по запросу. А чтобы настроить плагин Jetty также для отслеживания изменений кода Java, вам нужно добавить опцию scanIntervalSeconds:

scanIntervalSeconds Дополнительно . Пауза в секундах между циклами веб-приложения для проверки изменений и автоматического горячего повторного развертывания, если таковые обнаружены. По умолчанию это 0, что отключает сканирование горячего развертывания. Число больше 0 включает его.

Таким образом, конфигурация может выглядеть следующим образом:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.10</version>
        <configuration>
          <scanIntervalSeconds>1</scanIntervalSeconds>
        </configuration>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

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

Вот как я всегда использовал Jetty с Maven и Eclipse, и я всегда был доволен этой настройкой. Я никогда не использовал адаптер Jetty для WTP, предыдущая настройка просто непобедима.

0 голосов
/ 23 марта 2010

Не использовал Jetty с Eclipse, но если вы используете Tomcat (и я предполагаю, что Jetty будет работать также) с WTP и плагином m2eclipse, Eclipse будет создавать и публиковать ваше веб-приложение каждый раз, когда ресурс сохраняется. *

  1. Создание (или использование существующего) проекта Maven с упаковкой «war».

  2. В представлении Eclipse «серверы» щелкните правой кнопкой мыши и настройте сервер.

  3. Щелкните правой кнопкой мыши на настроенном сервере, выберите «Добавить / удалить проекты» и выберите свой проект.

  4. Нажмите на зеленый треугольник в представлении серверов, чтобы запустить сервер.

Теперь Eclipse должен автоматически создавать и публиковать ваше веб-приложение каждый раз, когда вы вносите изменения. Обратите внимание, что у вас должен быть плагин m2eclipse И плагин интеграции m2eclipse WTP, чтобы это работало.

...