2

我在使用 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());
 }

这不是我修改的行。我修改了一条完全不同的线。

4

0 回答 0