Работает ли JRebel со встроенными серверами приложений? (IntelliJ) - PullRequest
3 голосов
/ 22 марта 2012

Я использую скрипт Gradle для развертывания в плагин Jetty или Tomcat. Я делаю это в IntelliJ, и я установил плагин JRebel для intellij.

Когда я использую плагин для запуска моего скрипта Gradle, я не думаю, что JRebel может понять, куда помещать обновленные файлы классов. Есть ли способ сказать это?

В качестве альтернативы я попытался выполнить развертывание на автономном сервере Tomcat (через IntelliJ), но он продолжает получать ошибки PermGen и заставляет мою среду IDE зависать. Я читал подсказки, что медлительность может быть связана с использованием компилятора Ajc, это правда? Кроме того, в конфигурации Tomcat я добавил несколько довольно щедрых CATALINA_OPTS (-Xms512m -Xmx2048m). Будут ли они перезаписаны JAVA_OPTS, переданным JRebel? Я не могу себе представить, что мне нужно выделить еще больше памяти ...

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

Да, он работает с плагином Tomcat, если вы запускаете его из командной строки.Пожалуйста, обратитесь к разделу FAQ плагина для полного объяснения того, как его настроить.Я не уверен насчет плагина JRebel в IntelliJ.Вы можете просто запустить задачу tomcatRun из IntelliJ с помощью плагина JetGradle (интеграция IntelliJ с Gradle).

1 голос
/ 25 марта 2012

Вам нужен правильный rebel.xml , который сообщит JRebel, где находятся скомпилированные классы. Его можно легко сгенерировать с помощью плагина JRebel для IntelliJ - щелкните правой кнопкой мыши по проекту и нажмите «Generate rebel.xml»

Чтобы обойти ошибки PermGen, вы должны использовать опцию -XX: MaxPermSize, как было сказано выше.

...