在 Eclipse 中使用附加 API 时,控制台中会抛出错误。
为了使用附加 API,我在 eclipse 中安装了 JRE,然后使用编辑选项将 tools.jar 包含在当前 JRE 的外部 jars 选项中。
但是当我尝试执行一个简单的程序时,它会抛出以下错误,例如
java.lang.UnsatisfiedLinkError:在 java.library.path com.sun.tools.attach.AttachNotSupportedException 中没有附加:在 dynamicLoadingTest.VMAttach 的 com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:190) 处没有安装提供程序.main(VMAttach.java:17)
这是执行的简单程序。导入 java.io.IOException;
import com.sun.tools.attach.AttachNotSupportedException;
import com.sun.tools.attach.VirtualMachine;
public class VMAttach {
public static void main(String[] args) {
try {
VirtualMachine vm = VirtualMachine.attach("6832");
} catch (AttachNotSupportedException e) {
System.out.println("This error");
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
提到的进程 id 6832是系统上运行的 Java 应用程序
在将安装的 jre 更改为 jdk 时,会产生以下错误
Exception in thread "main" com.sun.tools.attach.AttachNotSupportedException: jvm.dll not loaded by target process
at sun.tools.attach.WindowsVirtualMachine.<init>(WindowsVirtualMachine.java:46)
at sun.tools.attach.WindowsAttachProvider.attachVirtualMachine(WindowsAttachProvider.java:52)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:195)
at dynamicLoadingTest.VMAttach.main(VMAttach.java:17)