Hallöle,
ich hab eine .Jar Datei der JRE System Library hinzugefügt (sigar.jar).
Nun kann ich wie gewollt erfolgreich auf die packages und so zugreifen, die benötigten .so / .dll Dateien habe ich über die Fenster manuell in Java/jre6/lib hineinkopiert.
Nun zu meinem Programm:
und nach ausführung erhalte ich folgende Fehlermeldung:
Wo liegt mein Problem?! Bzw wie bekomme ich das hin, dass die sigar api weiß wo die .so / .dll files sind?
ich hab eine .Jar Datei der JRE System Library hinzugefügt (sigar.jar).
Nun kann ich wie gewollt erfolgreich auf die packages und so zugreifen, die benötigten .so / .dll Dateien habe ich über die Fenster manuell in Java/jre6/lib hineinkopiert.
Nun zu meinem Programm:
Java:
import java.io.*;
import java.util.*;
import java.text.*;
import java.lang.*;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
public class MemExample {
private static Sigar sigar = new Sigar();
public static void getInformationsAboutMemory() {
System.out.println("**************************************");
System.out.println("*** Informations about the Memory: ***");
System.out.println("**************************************\n");
Mem mem = null;
try {
mem = sigar.getMem();
} catch (SigarException se) {
se.printStackTrace();
}
System.out.println("Actual total free system memory: "
+ mem.getActualFree() / 1024 / 1024+ " MB");
System.out.println("Actual total used system memory: "
+ mem.getActualUsed() / 1024 / 1024 + " MB");
System.out.println("Total free system memory ......: " + mem.getFree()
/ 1024 / 1024+ " MB");
System.out.println("System Random Access Memory....: " + mem.getRam()
+ " MB");
System.out.println("Total system memory............: " + mem.getTotal()
/ 1024 / 1024+ " MB");
System.out.println("Total used system memory.......: " + mem.getUsed()
/ 1024 / 1024+ " MB");
System.out.println("\n**************************************\n");
}
public static void main(String[] args) throws Exception{
getInformationsAboutMemory();
}
}
und nach ausführung erhalte ich folgende Fehlermeldung:
Java:
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:14)
**************************************
*** Informations about the Memory: ***
**************************************
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.getInformationsAboutMemory(MemExample.java:23)
at MemExample.main(MemExample.java:48)
Wo liegt mein Problem?! Bzw wie bekomme ich das hin, dass die sigar api weiß wo die .so / .dll files sind?
Zuletzt bearbeitet von einem Moderator: