0

在更改我的代码时,我在尝试使用 DCEVM (8u181) 和 Tomcat (7.0.62.0) 运行 HotswapAgent (1.3.0) 时遇到了以下问题:

HOTSWAP AGENT: 17:03:34.936 ERROR (org.hotswap.agent.command.ReflectionCommand) - Error executin method hotswap in class org.hotswap.agent.plugin.hotswapper.HotswapperCommand
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.hotswap.agent.command.ReflectionCommand.doExecuteReflectionCommand(ReflectionCommand.java:189)
        at org.hotswap.agent.command.ReflectionCommand.executeCommand(ReflectionCommand.java:150)
        at org.hotswap.agent.command.impl.CommandExecutor.run(CommandExecutor.java:25)
Caused by: java.lang.NoClassDefFoundError: com/sun/jdi/request/EventRequest
        at org.hotswap.agent.plugin.hotswapper.HotswapperCommand.hotswap(HotswapperCommand.java:30)
        ... 7 more
Caused by: java.lang.ClassNotFoundException: com.sun.jdi.request.EventRequest
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
        ... 8 more

原因是什么?

4

1 回答 1

0

问题的原因是Tomcat需要com.sun.tools库,可以在这里获取:https ://mvnrepository.com/artifact/com.sun/tools/1.7.0.13 。

通过下载 tools-1.7.0.13.jar 并将其插入 tomcat .../lib 目录,然后重新启动 tomcat,HotswapAgent 似乎可以按预期工作。

于 2019-06-12T16:19:12.750 回答