为什么JRebel配置应该包括在我的战争中?

时间:2018-02-21 14:05:13

标签: java maven spring-boot war jrebel

来自JRebel文档

  

必须将rebel.xml配置文件添加到已部署的WAR或JAR存档中。这将使JRebel代理知道要监视哪些工作空间路径以进行类和资源更新。

https://manuals.zeroturnaround.com/jrebel/standalone/maven.html

pom.xml中的war配置中,我明确地从战争中删除了JRebel配置,因为根据我的理解,当部署在服务器上并且包含工作站特定信息时,我宁愿在战争中看不到它也没有用处

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.2.0</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <packagingExcludes>
            <!-- Exclude JRebel configuration from the war. -->
            WEB-INF/classes/rebel.xml
        </packagingExcludes>
    </configuration>
</plugin>

当我作为Spring Boot应用程序在本地运行时,JRebel仍然正常工作,当然我的战争在没有rebel.xml的服务器上运行良好。为什么文件说它需要被纳入战争?

1 个答案:

答案 0 :(得分:2)

rebel.xml 文件就像JRebel的眼睛一样,指向您编译的类和资源以便重新加载。在爆炸模式的情况下,通常不需要它,但对于打包的WAR和JAR,它是。如果您在本地和部署中使用此文件意味着部署到生产服务器,那么从部署的WAR中删除此文件确实很好,因为JRebel只是用于开发阶段的工具。