所以我发现这个名为hotswapagent的库,它使您可以为在应用程序容器上部署的应用程序执行hotswapping。它也可以很好地处理XML配置和类文件,但有两种情况:
在某些WAR中,您可以使用另一个jar来实现' utils'并将其作为主WAR的单独依赖项。如何替换我的jar中的类文件,这是我主WAR的依赖?
如何配置Tomcat / Weblogic等Web应用程序容器以在运行时接受内部jar的更改?
答案 0 :(得分:2)
在主模块的资源目录(例如: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重新加载类,则无需执行问题的第二部分。