我在使用 HotSwap 代理时遇到问题。它无法正常工作。
设置:
- 来自 HotswapAgent.org 的 JDK 11
- 野蝇 14
- NetBeans 9
- HotSwapAgent 1.3.1-快照
开始时我
HOTSWAP 代理:08:17:59.098 INFO (org.hotswap.agent.HotswapAgent) - 加载 Hotswap 代理 {1.3.1-SNAPSHOT} - 无限制的运行时类重新定义。
在中间我得到一个奇怪的:
08:18:56,713 INFO [stdout] (ServerService 线程池 -- 77) HOTSWAP 代理: 08:18:56.713 警告 (org.hotswap.agent.watch.nio.TreeWatcherNIO) - 无法监视路径 vfs:/C: /Java/wildfly-14.0.0.Final/bin/content/application.war/WEB-INF/classes/com/company/,不是本地常规文件或目录。
但它更进一步。我更改代码,单击应用代码更改。它似乎改变了代码:
Classes to reload:
com.company.web.HeaderPanel$13
com.company.web.HeaderPanel$2
com.company.web.HeaderPanel$3
com.company.web.HeaderPanel$4
com.company.web.HeaderPanel
com.company.web.HeaderPanel$5
com.company.web.HeaderPanel$10
com.company.web.HeaderPanel$11
com.company.web.HeaderPanel$1
com.company.web.HeaderPanel$12
com.company.web.HeaderPanel$6
com.company.web.HeaderPanel$7
com.company.web.HeaderPanel$8
com.company.web.HeaderPanel$9
Code updated
在运行时,当我转到更改的类时,它会引发不兼容的类更改错误:
java.lang.IncompatibleClassChangeError: Type com.company.web.HeaderPanel$1 is not a nest member of com.company.web.HeaderPanel: current type is not listed as a nest member
at deployment.application.war//com.company.web.HeaderPanel$1.onConfigure(HeaderPanel.java:110)
相关的源代码行是匿名类 super 中的重写函数。称呼:
@Override
protected void onConfigure() {
super.onConfigure();
setVisible(!ssoService.isEnabled());
}
这不是我修改的行。我修改了一条完全不同的线。