gpt4 book ai didi

java - 我是否必须生成 rebel.xml 才能重新加载 JRebel 更改?

转载 作者:行者123 更新时间:2023-11-29 08:38:21 40 4
gpt4 key购买 nike

我有一个简单的 Spring Boot 应用程序,我注意到即使没有 rebel.xml,它也会重新加载更改?该文件的用途是什么?

最佳答案

JRebel 使用 rebel.xml 文件将您的类路径资源和 servlet 资源重新映射到您的构建目录,这样当您在 IDE 中进行更改并构建类时,JRebel 将检测到该构建目录中的更改并重新加载更改后的类。

无论 rebel.xml 文件如何,JRebel 都会监视它可以在类路径中找到的所有目录。它不监视 jar、war 文件。因此,如果使用 JRebel 启动一个 jar 文件并且没有 rebel.xml 文件,那么它将没有任何要监视的目录并且将无法重新加载任何内容。

这就是需要 rebel.xml 文件的原因:

  1. 让 JVM 从构建目录加载类
  2. 将 rebel.xml 中的目录添加到类路径中,以便 JRebel 监控它们

然而,在许多情况下,当在 IDE 中运行独立应用程序时,IDE 不会运行 jar 文件,而是直接运行构建目录中的类并将构建目录添加到类路径中。

在那种情况下,正在运行的类已经在构建文件夹中,因此它们是可重新加载的,并且更改发生在 JRebel 监视的目录中。这样的设置不需要 rebel.xml 文件。从 IDE 启动的分解 Web 应用程序有时也会发生同样的事情。

您可以通过在命令行中运行应用程序来检查您的应用程序是否也是这种情况。

首先使用 JRebel 运行 Spring Boot jar 文件而不使用 rebel.xml 文件,您会发现不会发生重新加载。要查看重新加载,您需要生成 rebel.xml 文件并将其构建到 jar 中。

然而,当您将构建目录添加到类路径并运行类时,JRebel 应该重新加载类而不需要 rebel.xml 文件。

您可以从此处阅读有关 rebel.xml 文件的更多信息:https://manuals.zeroturnaround.com/jrebel/standalone/config.html

关于java - 我是否必须生成 rebel.xml 才能重新加载 JRebel 更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42158558/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com