Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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项目中包含sigarapi_Java_Eclipse_Sigar - Fatal编程技术网

如何在Java项目中包含sigarapi

如何在Java项目中包含sigarapi,java,eclipse,sigar,Java,Eclipse,Sigar,我是Java新手,所以我不知道在需要使用sigar类的项目中谁可以获得下载的zip文件(hyperic-sigar-1.6.4.zip) 我已经尝试导入Sigar.Jar文件,但问题是Sigar中的每个类的源代码都是未知的 所以我使用EclipseIndigo进行编程,希望有人能帮助我:) 非常感谢你的问候 Marcus首先您需要将Sigar.jar添加到您的库中,然后将文件添加到您的库中(您需要为您的操作系统选择您正在使用的文件)。您可以在“hyperic-sigar-1.6.4/sigar-

我是Java新手,所以我不知道在需要使用sigar类的项目中谁可以获得下载的zip文件(hyperic-sigar-1.6.4.zip)

我已经尝试导入Sigar.Jar文件,但问题是Sigar中的每个类的源代码都是未知的

所以我使用EclipseIndigo进行编程,希望有人能帮助我:)

非常感谢你的问候


Marcus

首先您需要将
Sigar.jar
添加到您的库中,然后将
文件添加到您的库中(您需要为您的操作系统选择您正在使用的文件)。您可以在
“hyperic-sigar-1.6.4/sigar-bin/lib”
中找到这些文件。您可以在示例代码中找到
Mem
函数的用法:

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();

                }

}

下载的zip将包含一个或两个文件夹,给出如何使用某些函数的示例。文件夹示例可在以下位置找到:


“hyperic-sigar-1.6.4/bindings/java/examples”

因此我将sigar.jar文件添加到我的JRE系统库中,并将所有.So文件从hyperic-sigar-1.6.4/sigar-bin/lib复制到Java/jre6/lib,但现在我总是收到这样的消息:未能加载sigar-amd64-winnt:Java.lang.NullPointerException org.hyperic.sigar.sigar.sigar异常:未能加载sigar-amd64-winnt:Java.lang.NullPointerExceptionorg.hyperic.sigar.sigar.sigar.loadLibrary(sigar.java:170)在org.hyperic.sigar.sigar.sigar.(sigar.java:100)在MemExample.(MemExample.java:14)
那么怎么了?也把这个文件sigar-x86-winnt.lib添加到你的库中。我使用的是win7,64位,那么使用32位库有什么意义呢?但是我试过了,结果是一样的。sigar函数可能会出现错误。但是我没有查看这些类,所以我很茫然。我将完整的sigar库添加到我的jre6/lib中,所以它不需要关心使用jre6/lib(带有sigar文件)或sigar文件。在我的例子中,我使用的是Ubuntu(64位),我将sigar.jar&libsigar-x86-linux。因此在我的项目库文件夹(即/home/project/Metrics/lib/)中,它对我来说很好。。。