6

我在使用装有 spring mvc 的 spring 时遇到了一些问题。我将弹簧加载的 jar 添加为服务器上的 java 代理。

现在,当我添加新方法时,例如在我的例子中,我添加了一个新方法 testHomes(),它给了我这个对话框。 在此处输入图像描述

下面是我的配置 在此处输入图像描述

在此处输入图像描述

我还检查了 Build Automatically 我使用的是 spring 框架 4.2.5.RELEASE。

我从以下链接检查了 SpringLoaded

与只允许在 JVM 运行后进行简单更改(例如更改方法主体)的“热代码替换”不同,Spring Loaded 允许您添加/修改/删除方法/字段/构造函数。类型/方法/字段/构造函数上的注释也可以修改,并且可以添加/删除/更改枚举类型中的值。

有什么办法可以使这项工作?

问候,

4

2 回答 2

2

什么是热代码替换?:

热代码替换 (HCR) 是一种调试技术,Eclipse Java 调试器通过该技术将新的类文件通过调试通道传输到另一个 JVM。在 Eclipse 开发的情况下,这也适用于运行运行时工作台的 VM。这个想法是,您可以在给定的运行时工作台上启动调试会话并在开发工作台中更改 Java 文件,并且调试器将在接收 VM 运行时替换其代码。不需要重新启动,因此提到了“热”。

当它工作时:

HCR 仅在类签名不变时起作用;例如,您不能删除或向现有类添加字段。但是,HCR 可用于更改方法的主体。HCR 仅在 1.4.1 和更高版本的 VM 上可靠地实现,或者使用任何版本的 IBM J9 VM。J9 在 IBM 产品中可用,例如 Websphere Studio Device Developer。

解决问题:

  1. 检查您是否在受支持的 VM 上运行应用程序(请注意,运行 Eclipse 的 JVM 可能与运行 Java 应用程序的 JVM 不同)。

  2. 检查自动构建是否打开。确保选中“项目> 自动构建”。

  3. 检查在 Eclipse Tomcat 服务器上选择的以下选项。

    在此处输入图像描述

参考资料:wiki.eclipse

于 2016-05-08T16:37:03.540 回答
1

javaagent是 JVM 选项。所以它应该不带D前缀传递。即你需要

-javaagent:springloaded-1.2.5.RELEASE.jar -noverify
于 2016-05-11T16:22:53.190 回答