Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Sigar不满意链接错误_Java_Debugging_Sigar - Fatal编程技术网

Java Sigar不满意链接错误

Java Sigar不满意链接错误,java,debugging,sigar,Java,Debugging,Sigar,我是西格的新手。我想运行一个简单的测试,了解如何监控我的系统 我添加了sigar-1.6.4和log4j作为外部库,但当我运行它时,我会遇到以下错误: 线程“main”java.lang.UnsatisfiedLinkError中出现异常:org.hyperic.sigar.sigar.getCpuInfoList()[Lorg/hyperic/sigar/CpuInfo; 在org.hyperic.sigar.sigar.getCpuInfoList(本机方法) 这是我的密码: import

我是西格的新手。我想运行一个简单的测试,了解如何监控我的系统

我添加了
sigar-1.6.4
log4j
作为外部库,但当我运行它时,我会遇到以下错误:

线程“main”java.lang.UnsatisfiedLinkError中出现异常:org.hyperic.sigar.sigar.getCpuInfoList()[Lorg/hyperic/sigar/CpuInfo; 在org.hyperic.sigar.sigar.getCpuInfoList(本机方法)

这是我的密码:

import java.util.Map;
import org.hyperic.sigar.CpuInfo;
import org.hyperic.sigar.FileSystem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Sigar sigar = new Sigar();
        CpuInfo[] cpuinfo = null;
        try {
        cpuinfo = sigar.getCpuInfoList();
        } catch (SigarException se) {
        se.printStackTrace();
        }

        System.out.println("---------------------");
        System.out.println("Sigar found " + cpuinfo.length + " CPU(s)!");
        System.out.println("---------------------");
    }

}

任何帮助都将不胜感激。

Sigar通过JNI工作。因此,相应的.so或.dll文件需要位于java.library.path属性指定的路径中

检查你的sigar发行版——我的意思是zip文件。解压它并复制文件的内容 sigar bin\lib指向可由Path、Path和LD_LIBRARY_Path环境变量访问的位置。通常,每个平台只需要访问一个文件


这应该可以解决问题,如果不行,请告诉我,我会看看我能做些什么。

我理解这个问题!
我必须使用以下JVM参数:

-Djava.library.path="./lib" 

在运行配置中,Arguments选项卡,eclipse中的VM Arguments,而sigar bin/lib的contnet在lib文件夹中。

我按照你说的做了,但仍然是同样的错误,我想我应该在eclipse中的运行配置中将它们设置为VM Arguments,但我不知道如何做。(我指的是我应该编写的命令)。你能帮忙吗?听起来好像从你的回答中,你终于明白了我说的话。解决了一个非常奇怪和恼人的问题,谢谢!我得到了相同的错误,但我的问题还没有解决???我的问题是什么,我在web应用程序中使用sigar,并且加载了库。