Работает ли JRebel со встроенными серверами приложений? (IntelliJ)


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

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

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

2 3

2 ответа:

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

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

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