的IntelliJ + Tomcat的+弹簧式(IntelliJ + Tomcat + Spring

2019-07-20 16:07发布

我想尝试一下春源的“弹簧式”级重装剂,在Tomcat中通过的IntelliJ运行。

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

我已经添加了JVM参数,以我的Tomcat的运行配置,和我的web应用程序启动时没有错误,似乎正常行为。

我真的不知道怎么虽然触发类重载。 我只是需要编译,我修改了类? 我已经试过了,并且似乎没有工作。 我是否需要更新Tomcat和部署类和资源? 这似乎并不无论是工作...?

任何特定的配置细节,将不胜感激。

编辑:更多的信息,我想我的问题可能与使用两个模块,一个是核心代码库,以及一个web应用程序做。 我使用Maven两个,一个配置为JAR项目和其他作为战争项目。 的IntelliJ建立了爆炸战争使用的jar模块的jar文件中的神器。 我试着切换神器配置到罐子模块的编译输出纳入WEB-INF / classes中代替。 现在我看到的目标/ web应用/ WEB-INF /班/等.class文件。 但我不知道怎么去的IntelliJ更新一个特定的类文件时我对其进行编辑。

Answer 1:

如果添加以下JVM参数(如弹簧加载页面描述)到Tomcat

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

你应该罚款。 它可以帮助在Tomcat中为您正在测试web应用程序禁用自动重新加载。 对于您的server.xml〔实施例:

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

这确保了只有弹簧加载的类加载器加载改变的类。



Answer 2:

弹簧加载不能热插拔罐子。

把网络分段输出到web应用/ WEB-INF / classes目录

此外弹簧加载只支持春4.1 https://github.com/spring-projects/spring-loaded/issues/139



文章来源: IntelliJ + Tomcat + Spring-Loaded