所以我找到了这个名为 hotswapagent 的库,它使您能够对部署在应用程序容器上的应用程序进行热交换。它也可以很好地与 XML 配置和类文件一起使用,但有两种情况:
在某些 WAR 中,您可以为“utils”使用另一个 jar,并将其作为主 WAR 的单独依赖项。如何替换我的 jar 中依赖于我的主 WAR 的类文件?
如何配置 Tomcat/Weblogic 等 Web 应用程序容器以在运行时接受内部 jar 中的更改?
所以我找到了这个名为 hotswapagent 的库,它使您能够对部署在应用程序容器上的应用程序进行热交换。它也可以很好地与 XML 配置和类文件一起使用,但有两种情况:
在某些 WAR 中,您可以为“utils”使用另一个 jar,并将其作为主 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 重新加载类,我假设您不需要执行问题的第二部分。