Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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.lang.unsatifiedlinkerror:org.hyperic.sigar.Cpu.gather(Lorg/hyperic/sigar/sigar;)V_Java_Api_Jsp_Sigar - Fatal编程技术网

java.lang.unsatifiedlinkerror:org.hyperic.sigar.Cpu.gather(Lorg/hyperic/sigar/sigar;)V

java.lang.unsatifiedlinkerror:org.hyperic.sigar.Cpu.gather(Lorg/hyperic/sigar/sigar;)V,java,api,jsp,sigar,Java,Api,Jsp,Sigar,在window10上使用eclips时存在此问题 5월 25, 2017 9:15:52 오전 org.apache.catalina.core.StandardWrapperValve invoke 심각: Servlet.service() for servlet [jsp] in context with path [/ESTIS] threw exception [An exception occurred processing JSP page /Estis/Admin_SystemM

在window10上使用eclips时存在此问题

5월 25, 2017 9:15:52 오전 org.apache.catalina.core.StandardWrapperValve invoke
심각: Servlet.service() for servlet [jsp] in context with path [/ESTIS] threw exception [An exception occurred processing JSP page /Estis/Admin_SystemMonitoring.jsp at line 51

48:         SystemMonitoring sm=new SystemMonitoring();
49:         CPUVo cpuVo=new CPUVo();
50:         MemoryVo memoryVo=new MemoryVo();
51:         cpuVo=sm.getCPU();
52:         memoryVo=sm.getMemory();
53:     %>
54:     <div><%=cpuVo.getTotalSysTime() %></div>


Stacktrace:] with root cause
java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Cpu.gather(Lorg/hyperic/sigar/Sigar;)V
    at org.hyperic.sigar.Cpu.gather(Native Method)
    at org.hyperic.sigar.Cpu.fetch(Cpu.java:30)
    at org.hyperic.sigar.Sigar.getCpu(Sigar.java:320)
    at org.hyperic.sigar.Sigar.getCpuPerc(Sigar.java:341)
    at SystemMonitoring.SystemMonitoring.getCPU(SystemMonitoring.java:27)
    at org.apache.jsp.Estis.Admin_005fSystemMonitoring_jsp._jspService(Admin_005fSystemMonitoring_jsp.java:163)
但是如果我在java主类中调用SystemMonitoring类,它确实可以工作。 另外,我在(项目属性java构建路径)和(WebContent WEB INF库)中添加了Sigar.jar

我不知道如果我在jsp中调用该方法为什么不起作用。。。
如何修复此问题?

如果您在不同的计算机上部署应用程序,则应根据操作系统的不同安装并访问sigar dll或其他文件@RubioRic我还添加了-Djava.library.path=“./lib”作为jvm参数,就像链接一样,但即使在我的com中,它仍然不起作用。如何以其他方式修复不满意的链接错误?如何在eclips项目的窗口10上安装sigar dll?其他人已经解决了将dll文件复制到WebContent WEB INF库的问题。您尝试过了吗?@RubioRic OMG我现在尝试过了,效果很好!!!!!!非常感谢你!!!!!不客气。很乐意帮忙。:-)
public CPUVo getCPU()

    {

        System.out.println("================== CPU DATA ====================");
        Sigar sigar = new Sigar();
        CpuPerc cpu = null;
        CpuPerc[] cpus = null;
        CPUVo vo=new CPUVo();
        try
        {
            cpu = sigar.getCpuPerc();
            cpus = sigar.getCpuPercList();
            vo.setUserTime(CpuPerc.format(cpu.getUser()));
            vo.setTotalSysTime(CpuPerc.format(cpu.getSys()));
            vo.setTotalIdle(CpuPerc.format(cpu.getIdle()));
            System.out.println(String.format("Total User Time : %s / Total Sys Time : %s / Total Idle  : %s ",
                    vo.getUserTime(),
                    vo.getTotalSysTime(),
                    vo.getTotalIdle()));

        } catch (Exception e)
        {
            e.printStackTrace();
        }
        return vo;
    }