使用 时Java Attach API
,我仅在Linux上收到以下链接错误(在不同的机器上尝试过):
Exception in thread "main" java.lang.UnsatisfiedLinkError: sun.tools.attach.WindowsAttachProvider.tempPath()Ljava/lang/String;
at sun.tools.attach.WindowsAttachProvider.tempPath(Native Method)
at sun.tools.attach.WindowsAttachProvider.isTempPathSecure(WindowsAttachProvider.java:74)
at sun.tools.attach.WindowsAttachProvider.listVirtualMachines(WindowsAttachProvider.java:58)
at com.sun.tools.attach.VirtualMachine.list(VirtualMachine.java:134)
at sun.tools.jconsole.LocalVirtualMachine.getAttachableVMs(LocalVirtualMachine.java:151)
at sun.tools.jconsole.LocalVirtualMachine.getAllVirtualMachines(LocalVirtualMachine.java:110)
...
有趣的是,在Solaris 和 Windows 上,它开箱即用。
我尝试了几种指定java.library.path
指向包含libattach.so
但没有运气的目录的组合。
这里有什么问题?
还有一个额外的问题:
有没有办法查看哪个本机库实际上绑定到了 java 类?