Как разработать веб-приложение на Java без необходимости постоянного развертывания - PullRequest
7 голосов
/ 20 апреля 2010

Я установил простое веб-приложение Eclipse 3.5 / Jetty 6.1, которое возвращает привет. Оно работает. Это на Windows и использует «Jetty Generic Server Adapter». У меня работает автоматическое развертывание, поэтому оно периодически развертывается после изменений.

Как мне настроить его так, чтобы при изменении статического содержимого не пришлось его повторное развертывание, т. Е. Я мог просто нажать F5, чтобы сразу увидеть изменения. Для незначительных изменений HTML довольно бесполезно ждать 20-30 секунд для развертывания.

Ответы [ 4 ]

3 голосов
/ 20 апреля 2010

Я раньше не пользовался Jetty, поэтому по опыту не могу понять, нормальны ли такие длительные сроки развертывания и как его оптимизировать. Но я бы просто сообщил, что это зависит от сервера и используемого серверного плагина. В случае Apache Tomcat 6 + предоставляемого Eclipse плагина и Sun Glassfish v3 + предоставляемого GF плагина автоматическое развертывание достаточно быстрое. Особенно Glassfish v3, который довольно медленно запускается, на самом деле превосходит его за доли секунды (горячие) развертывания.

Первым шагом было бы проверить, есть ли альтернативные Jetty Eclipse плагины , а затем попробуйте их и / или если есть настройка для понижения интервала сканирования hotdeploy .

1 голос
/ 30 августа 2010

Я использую Maven с конфигурацией ниже

        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.25</version>
            <configuration>
                <scanIntervalSeconds>1</scanIntervalSeconds>
                <requestLog implementation="org.mortbay.jetty.NCSARequestLog">
                    <append>true</append>
                </requestLog>
            </configuration>
        </plugin>

, поэтому Jetty сканирует изменения каждую секунду, а для моего простого приложения требуется около 200 мс для перезапуска приложения. Я заметил, что иногда пока не видит изменений в jsp файлах

0 голосов
/ 20 апреля 2010

Проблема, которую вы описываете, может быть этой . Известной проблемой является то, что статические файлы заблокированы в Jetty в Windows, что может привести к повторному развертыванию. Обычно вы можете просто редактировать свои файлы, вам не нужно ничего повторно развертывать, чтобы увидеть ваши изменения. Работает даже с модификациями классов (ну, в некоторой степени).

Это уже третий раз, когда я рекламирую его сегодня, но вот мой подход к тестированию на базе Jetty: Тестирование Hifaces20 .

пс. Hifaces20 Testing не страдает от проблемы блокировки файлов, он реализует предложенный обходной путь.

0 голосов
/ 20 апреля 2010
  1. Я обнаружил, что время, необходимое для автоматического развертывания, сильно зависит от сервера приложений. Я не делал автоматического развертывания с Jetty, но разница между JBoss (> 10 секунд) и Glassfish (

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

Вот как создать такую ​​ссылку: Создать> Папка> Дополнительно> Папка ссылки в файловой системе

...