所以我找到了这个名为 hotswapagent 的库,它使您能够对部署在应用程序容器上的应用程序进行热交换。它也可以与 XML 配置和类文件一起完美地工作,但对于两种情况:
在某些 WAR 中,您可以将另一个 jar 用于“utils”并将其作为主要 WAR 的单独依赖项。如何替换我的 jar 中依赖于我的主 WAR 的类文件?
如何配置 Tomcat/Weblogic 等 Web 应用程序容器以在运行时接受内部 jar 中的更改?
最佳答案
在主模块的资源目录(例如:src/main/resources
)中创建一个 hotswap-agent.properties 文件。在该文件中,设置 extraClasspath
到 utils 模块的目标类文件夹。它看起来像这样:
extraClasspath=<path to utils module>/target/classes
这是一个示例 hotswap-agent.properties
包含默认值和解释每个变量的注释的文件:https://github.com/HotswapProjects/HotswapAgent/blob/master/hotswap-agent-core/src/main/resources/hotswap-agent.properties
现在,当您部署 Web 应用程序时,HotSwapAgent 会将额外的类加载到类路径中,您将能够在其中热交换代码。如果您已经可以使用 HotSwapAgent 重新加载类,我假设您不需要执行问题的第二部分。
关于java - 热交换代理 : How to use it for classes inside WAR files?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50512011/