【问题标题】:How to change dependent jar at runtime in a Spring application without restarting the application itself?如何在 Spring 应用程序中在运行时更改依赖 jar 而无需重新启动应用程序本身?
【发布时间】:2023-03-31 15:55:01
【问题描述】:

上下文

假设我们有一个依赖于lib.jar 的 Spring 应用程序 (spring.jar)。这个罐子会有一个方法 字符串获取数据()。此方法将返回字母“A”。

我们将使用以下命令运行 spring 应用程序:

java -cp "spring.jar:lib.jar" Main

spring 应用程序启动成功后,我们可以对其进行测试,肯定可以看到 Spring 显示来自lib.jar 的字母“A”。

问题

是否有覆盖lib.jar(现在将返回字母'B')并将其反映在spring服务器中而不重新启动它?

【问题讨论】:

    标签: java spring dependencies runtime


    【解决方案1】:

    在 pom.xml 文件中添加 spring dev tools 依赖。这允许您在进行任何更改后运行应用程序而无需重新启动应用程序

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <version>2.3.12.RELEASE</version>
    </dependency>
    

    【讨论】:

    • 嗨@S Badal,感谢您的回答,但是当内部发生更改时,该解决方案会自动构建弹簧。问题是我的问题中的lib.jar 不是spring 框架的一部分,因此更改lib.jar 不会在spring 中触发重建。而且我希望在不必重新启动或重建 spring 的情况下看到 chages。
    猜你喜欢
    • 2017-12-01
    • 2012-12-11
    • 2016-02-23
    • 2011-08-10
    • 2019-12-12
    • 2019-07-28
    • 2017-09-19
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多