Подтвердить что ты не робот

IntelliJ + Tomcat + Spring -Loaded

Я хотел бы попробовать Spring Источник "Spring Загруженный" агент перезагрузки класса, а Tomcat запускается через IntelliJ.

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

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

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

Приветствуются особые детали конфигурации.

EDIT: больше информации, я думаю, что моя проблема, возможно, связана с использованием двух модулей, одной - базовой библиотеки кода, и одной - webapp. Я использую Maven для обоих, один из которых сконфигурирован как проект jar, а другой - как военный проект. IntelliJ устанавливает артефакт для взрывающейся войны, чтобы использовать файл jar-модуля jar. Я попытался переключить конфигурацию Artifact, чтобы вместо этого добавить компиляционный модуль jar в WEB-INF/classes. Теперь я вижу файлы .class в target/webapp/WEB-INF/class/etc. Но я не уверен, как заставить IntelliJ обновлять определенный файл класса, когда я его редактирую.

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

spring загружен не может горячие банки.

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

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