IntelliJ + Tomcat + пружинный

Я хотел бы попробовать агент перезагрузки класса Spring Source "Spring Loaded" с Tomcat, запущенным через IntelliJ.

https://github.com/SpringSource/spring-loaded

Я добавил аргументы JVM в свою конфигурацию запуска Tomcat, и мое веб-приложение запускается без ошибок и, кажется, работает нормально.

Я не совсем уверен, как вызвать перезагрузку класса, хотя. Мне просто нужно скомпилировать классы, которые я изменяю? Я попробовал это, и это, похоже, не сработало. Нужно ли обновлять Tomcat и развертывать классы и ресурсы? Это тоже не работает...?

Любая конкретная информация о конфигурации будет принята с благодарностью.

РЕДАКТИРОВАТЬ: Больше информации, я думаю, что моя проблема, возможно, связана с использованием двух модулей, один библиотека кода ядра и одно веб-приложение. Я использую Maven для обоих: один настроен как jar-проект, а другой - как военный. IntelliJ настраивает Артефакт для взорванной войны, чтобы использовать файл jar модуля jar. Я попытался переключить конфигурацию Artifact, чтобы вместо этого включить скомпилированный вывод модуля jar в классы WEB-INF/. Теперь я вижу файлы.class в target/webapp/WEB-INF/class/etc. Но я не уверен, как заставить IntelliJ обновлять файл определенного класса, когда я его редактирую.

2 ответа

Если вы добавили следующие параметры jvm (как описано на загруженной странице) в ваш tomcat

-javaagent:<pathTo>/springloaded-{VERSION}.jar -noverify SomeJavaClass

у тебя должно быть все в порядке. Это может помочь отключить автоматическую перезагрузку в tomcat для тестируемого веб-приложения. Например, в вашем server.xml:

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
    <Context docBase="projekt" path="/projekt" reloadable="false" ...

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

Подпружиненный не может перегревать банки.

Поместите вывод веб-фрагмента в классы webapp/WEB-INF/classes

Также подпружиненная поддержка поддерживается только весной 4.1 https://github.com/spring-projects/spring-loaded/issues/139

Другие вопросы по тегам