我是java中的sigar和本地库编程的新手。可能这只是一个简单的问题,但我无法找到自己的结果。 我在win 7(64位)操作系统上使用eclipse indigo。我已经完成了以下步骤: 将sigar.jar和log4l.jar添加到jre6 / lib,将sigar-amd64-winnt.dll(也是x86的文件)文件添加到./Program Files / Java / jre6 / lib。 比我只想创建一个新的sigar()并得到以下异常
Failed to load sigar-amd64-winnt: java.lang.NullPointerException
org.hyperic.sigar.SigarException: Failed to load sigar-amd64-winnt: java.lang.NullPointerException
at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:170)
at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
at MemExample.<clinit>(MemExample.java:8)
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Mem.gather(Lorg/hyperic/sigar/Sigar;)V
at org.hyperic.sigar.Mem.gather(Native Method)
at org.hyperic.sigar.Mem.fetch(Mem.java:30)
at org.hyperic.sigar.Sigar.getMem(Sigar.java:304)
at MemExample.getInformationsAboutMemor
我已经尝试操作VM-Arguments(在Run Config -DJava.library.path =“path / of / lib”中),将java构建路径中的本机库设置为sigar / lib的路径使用System.setProperty(“path”,“ - ”)在我自己的程序中设置Systempath。到目前为止,所有这些方式都没有成功。 我一步一步地屈服于绝望。
* 编辑: * sigar是否只适用于AMD? 因为有些朋友用amd处理器尝试了相同的代码并赢得7(32b)并且它有效。 我已经在hyperic sigar开发者论坛中寻找答案,但无法找到任何有用的提示和答案。