当使用Java Attach API
,我得到以下链接错误上的Linux(试图在不同的机器上)唯一的:的Java连接API:UnsatisfiedLinkError
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类?
你可以在LD_LIBRARY_PATH中找到这个库吗? – longhua 2013-03-08 09:30:25
我也试过将它添加到LD_LIBRARY_PATH - 但它没有帮助。在Solaris上它也不在LD_LIBRARY_PATH上,但它在这里工作。 – MRalwasser 2013-03-08 09:32:12
看来这个库与您使用的Java类不兼容。他们是否来自同一个JDK?在LD_LIBRARY_PATH或java.library.path中是否还有其他库具有相同的名称? – longhua 2013-03-08 10:12:34