IDEA 中使用jrebel插件,打包jar的时候会将classpath下rebel.xml文件包含,其它项目引用此jar包为了达到动态编译的效果所以使用的是 rebel.xml 中的classpath下的源码,不是jar中的源码!导致类编译后用jrebel启动不能正确执行修改编译后的代码!
解决办法:
如果是maven编译最好添加如下代码,以防小组成员不同使用了jrebel打包后出现缓存情况
<plugin> <groupId>org.zeroturnaround</groupId> <artifactId>jrebel-maven-plugin</artifactId> <version>1.1.5</version> <executions> <execution> <id>generate-rebel-xml</id> <phase>process-resources</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <!-- 指定生成的jrebel.xml放在哪里, 要求放在web应用的 classpath下 --> <rebelXmlDirectory>${basedir}/src/main/resources</rebelXmlDirectory> </configuration> </plugin>原文链接:https://www.f2er.com/javaschema/283647.html