Agent JAR loaded but agent failed to initialize 为什么
利用agent-class的方式想attach到另外一个正在运行的vm中,在windows环境下运行通过(其中引用了jdk6中的一个tools.jar包)打包后直接在linux下运行时,发现运行出现错误
Exception in thread "main" java.lang.UnsatisfiedLinkError: sun.tools.attach.WindowsVirtualMachine.init()V
at sun.tools.attach.WindowsVirtualMachine.init(Native Method)
at sun.tools.attach.WindowsVirtualMachine.<clinit>(WindowsVirtualMachine.java:168)
at sun.tools.attach.WindowsAttachProvider.attachVirtualMachine(WindowsAttachProvider.java:52)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:195)
at monitor.agentmain.VirtualMachineTest.main(VirtualMachineTest.java:46)
在window下正常运行的在linux下无法运行,再一看明白了。。 sun.tools.attach.WindowsVirtualMachine.init()V 应该是windows和linux下的tools.jar包内容不一样的原因。。于是将linux下的tools.jar包替换windows下的这个包。再次运行
报如下错误:
Exception in thread "main" com.sun.tools.attach.AgentInitializationException: Agent JAR loaded but agent failed to initialize
at sun.tools.attach.HotSpotVirtualMachine.loadAgent(HotSpotVirtualMachine.java:103)
at monitor.agentmain.VirtualMachineTest.main(VirtualMachineTest.java:49)
找不到原因啊。。。资料太少了 --------------------编程问答--------------------
不要把tools.jar拷贝到Linux下。
不是把windows下build的class拷贝到linux,而是把你的代码在linux下build成class。然后试试。 --------------------编程问答-------------------- ok,试一试 --------------------编程问答-------------------- --------------------编程问答-------------------- 这样也不行。。同样的错误来着。。 --------------------编程问答-------------------- 楼主,这个问题是怎么样解决的?
补充:Java , Java相关