我必须在应用程序中找到系统信息,为此我有两个本机库文件,如下所示:
SystemManagerLinux.so
和SystemManagerWin32.dll
.
我必须在我的 java 代码中使用这些库文件来显示 java GUI 上的信息。我已将这些文件放在位置:C:\Users\surjit\Documents\NetBeansProjects\SampleMonitor
并在我的 netbeans ide on run 选项中将其作为 vm 参数,如下所示:
-Djava.library.path="C:\Users\surjit\Documents\NetBeansProjects\SampleMonitor"
并在代码中调用库:
if (os.startsWith("Linux"))
loadTmpLibrary("SystemManagerLinux.so", "libSML", ".so");
else if (os.startsWith("Windows")) {
loadTmpLibrary("SystemManagerWin32.dll", "SMW", ".dll");
但是当我运行应用程序时,它给出了以下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: SystemManagerWin32.fetchProcessIDs([I)I
at SystemManagerWin32.fetchProcessIDs(Native Method)
at SystemMonitor.refreshPidList(SystemMonitor.java:168)
at SystemMonitor.<init>(SystemMonitor.java:383)
at SystemMonitor.main(SystemMonitor.java:494)
Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError: SystemManagerWin32.fetchSystemMemoryStatus(LSystemMemoryStatus;)Z
at SystemManagerWin32.fetchSystemMemoryStatus(Native Method)
at SystemMonitor.run(SystemMonitor.java:410)
at java.lang.Thread.run(Thread.java:722)
请建议我解决方案。谢谢