Sigar UnsatisfiedLinkError
Ich bin neu zu Sigar. Ich würde gerne einen einfachen test, um zu wissen, wie ich überwachen kann mein system.
Fügte ich sigar-1.6.4
und log4j
als externe Bibliotheken, aber wenn ich gehen, um es auszuführen, habe ich angesichts dieser Fehler:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Sigar.getCpuInfoList()[Lorg/hyperic/sigar/CpuInfo;
at org.hyperic.sigar.Sigar.getCpuInfoList(Native Method)
Hier ist mein code:
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("---------------------");
}
}
Jede mögliche Hilfe würde geschätzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich verstanden, das problem!
Ich muss verwenden Sie das folgende JVM-Argument:
in die Konfiguration Auszuführen, die Argumente, die die Registerkarte VM-Argumente in eclipse während der contnet von sigar-bin/lib in den lib-Ordner.
Sigar funktioniert über JNI. Als solche, die angemessen ist .so oder so .dll-Datei muss im angegebenen Pfad von java.Bibliothek.path-Eigenschaft.
Überprüfen Sie Ihre sigar Verteilung - die zip-Datei, meine ich. Entpacken Sie es und kopieren Sie den Inhalt des
sigar-bin\lib, um einen Speicherort zugänglich von Ihrem Pfad, PATH und LD_LIBRARY_PATH-Umgebungsvariablen. In der Regel wird nur eine Datei muss erreichbar sein pro Plattform.
Sollten den trick tun, wenn es nicht klappt, lass es mich wissen und ich werde sehen was ich tun kann.