Как запустить Jetty с JRebel в Eclipse?
Я использую плагин Jetty Maven в Eclipse для развертывания моего приложения. Это часть pom.xml:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.2.5.v20141112</version>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>5.0.2</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>5.0.2</version>
</dependency>
</dependencies>
<configuration>
<scanIntervalSeconds>2</scanIntervalSeconds>
<stopKey>stop</stopKey>
<stopPort>9999</stopPort>
</configuration>
</plugin>
Я также установил плагин JRebel в Eclipse. Итак, как я могу запустить свой джет-сервер с JRebel?
3 ответа
К счастью, я нашел ответ на странице конфигурации Maven (где я называю jetty:run), и он работает. Для тех, кому это тоже понадобится, и используйте плагин JRebel Eclipse, вот ответ:
(Я все еще был бы признателен, если бы кто-нибудь знал лучший способ. Может быть, в pom.xml, в конфигурации jetty.maven.plugin?)
Вам нужно указать JRebel в качестве аргумента JVM. Поскольку Jetty запускается в том же процессе JVM, что и Maven, как только Maven узнает, что у вас настроена Jetty, уже слишком поздно.
У вас есть два варианта в такой ситуации
- Передайте аргумент Maven, и поскольку Jetty запускается в том же процессе, агент JRebel будет подключен. Ты можешь использовать
MAVEN_OPTS
переменная окружения для этого. - использование
jetty:run-forked
, Он создает отдельный процесс JVM для Jetty и позволяет задавать аргументы через<jvmArgs/>
Вариант конфигурации.
Установите JRebel для затмения с помощью eclipse Marketplace(Справка> Eclipse Marketplace) и перезапустите затмение.
После того, как вы создали проект maven и настроили jetty-сервер, щелкните проект правой кнопкой мыши, и теперь вы должны увидеть опцию JRebel в контекстном меню. Нажмите JRebel > Add Jrebel Nature
Как только вы сделаете это, ваш проект сгенерирует rebel.xml
файл автоматически и должен быть настроен для запуска с изменениями, внесенными в ваш проект без перезагрузки сервера. Кроме того, я не внес никаких конкретных изменений в проект. Но JRebel работает нормально.
Вы также можете добавить природу JRebel в проект, выполнив это,
Help > JRebel Configuration > Projects Tab > Other Projects > Demo_Project
Надеюсь это поможет.