【问题标题】:Spring loaded 1.2.5 + Spring Boot 1.3.2. can't seem to get it to work弹簧加载 1.2.5 + Spring Boot 1.3.2。似乎无法让它工作
【发布时间】:2016-05-03 01:04:41
【问题描述】:

我在 youtube (https://www.youtube.com/watch?v=GTrNkhVnJBU) 上看到了一段演示 Spring Loaded 的视频。

我正在尝试复制相同的行为,但到目前为止仍未成功。

我正在使用什么:

Spring 工具套件 3.7.2 Spring Boot 1.3.2-RELEASE 弹簧加载 1.2.5-RELEASE Maven 版本 3.1.0 JDK 1.8.0_71

我尝试了和视频中的那个人一样的方法(当然版本更新了),但它不起作用。

我还尝试了这里的 spring 文档中描述的“maven 插件”方式 -> https://docs.spring.io/spring-boot/docs/current/reference/html/howto-hotswapping.html#howto-reload-springloaded-maven 但这也没有用。

我尝试将 spring 加载的版本更改为 1.2.0(文档使用该版本),但这也没有做任何事情。

我在 STS 本身中运行了应用程序,还尝试了从命令行运行 mvn spring-boot:run,但都没有得到想要的结果。

当使用 mvn spring-boot:run 我看到它正在附加代理:

[INFO] 附加代理:[C:\Users\ron.m2\repository\org\springframework\springloaded\1.2.5.RELEASE\springloaded-1.2.5.RELEASE.jar]

但更改的 RequestMappings 或方法签名不会被弹簧加载,因此更改不会反映。

我有点不知道为什么我不能让它工作,任何帮助将不胜感激。

【问题讨论】:

    标签: spring maven spring-boot spring-tool-suite spring-loaded


    【解决方案1】:

    弹簧加载还不支持弹簧 4.2。见https://github.com/spring-projects/spring-loaded/issues/139

    所以你要么坚持使用DevTools,它肯定会加快开发过程(尽管不如 spring-loaded 快),使用 JRebel(支持最新的 spring 版本)或降级到 spring 4.1。

    【讨论】:

    • 就是这样,谢谢!当我将 spring boot 设置为 1.2.8 版本时,它可以工作。仅当使用 mvn spring-boot:run 从命令行时。当我使用 -javaagent vm 参数时,我也可以让它在 Eclipse 中工作。
    【解决方案2】:

    您也可以尝试 Spring Boot Devtools 的自动重启功能:https://spring.io/blog/2015/06/17/devtools-in-spring-boot-1-3。它仅重新启动应用程序,并且比重新启动整个 JVM 快得多。虽然您正在丢失应用程序状态,但它可能是另一种选择。

    【讨论】:

    • 是的,我已经知道那个了。遗憾的是,您失去了应用程序状态,但是对于 REST API(我现在正在制作)来说,应用程序重新启动通常是可以在开发期间进行的。
    猜你喜欢
    • 2012-06-09
    • 1970-01-01
    • 2011-11-30
    • 2015-09-20
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    相关资源
    最近更新 更多