Hyperic Sigar Mac Osx错误 - 无库

时间:2012-06-29 18:14:06

标签: java hyperic sigar

您好我正在使用第三方lib名称Hyperic Sigar。当我运行我的代码时,它显示错误,

这是我的代码:

package pack;

import org.hyperic.sigar.*;

public class NetworkData {
    public static void main(String[] args) {
   Sigar sigar = new Sigar();
    }

}

这是错误消息:

1 [main] DEBUG Sigar  - no libsigar-universal64-macosx.dylib in java.library.path
org.hyperic.sigar.SigarException: no libsigar-universal64-macosx.dylib in java.library.path
    at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)
    at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
    at pack.NetworkData.main(NetworkData.java:10)

我正在使用Eclipse IDE为Java开发人员开发Mac Osx Snow Leopard 找到一些旧帖子("no sigar-x86-winnt.dll in java.library.path" error when using Hyperic SIGAR on multi language OS) 帖子说我需要添加一些路径,如果是这样的话...我如何在Mac Osx中添加该路径? 希望有人可以帮助^^

3 个答案:

答案 0 :(得分:3)

首先您需要将Sigar.jar添加到库中,然后将.dylib文件添加到您的库中(您需要为您的操作系统选择正在使用的文件)。在您的情况下,您应添加libsigar-universal64-macosx.dylib,您可以在"hyperic-sigar-1.6.4/sigar-bin/lib"中找到这些文件。

答案 1 :(得分:2)

我得到了解决方案, 解决方案是在我的项目中添加一个jar文件(在我的例子中)。 每当我们使用第三方库时都是相同的概念,例如java的mysql驱动程序。 所以在我的情况下, 我需要将log4j.jar和sigar.jar添加到我的路径中。

右键单击您的eclipse项目然后转到 构建路径&gt;配置构建路径&gt; Java构建路径&gt;添加外部JAR 并将sigar.jar添加到您的项目中。

答案 2 :(得分:2)

 # to find it later because you will need it ...
 cd ~/Downloads/

 # or whatever the latest one at the time of reading is ... 
 curl https://netix.dl.sourceforge.net/project/sigar/sigar/1.6/hyperic-sigar-1.6.4.zip

 # unpack the package to the tmp dir
 sudo unzip -o /Users/phz/Downloads/hyperic-sigar-1.6.4.zip -d /tmp/

 # copy the libsigar-universal64-macosx.dylib to your class path dir
 sudo find /tmp/ -name libsigar-universal64-macosx.dylib \
   -exec cp -v {} /Library/Java/Extensions/ \;

 # this cmd might be obsolete ... 
 # copy the sigar.jar to your class path dir
 sudo find /tmp/ -name sigar*.jar \
   -exec cp -v {} /Library/Java/Extensions/ \;

 # set you classpath dir, or add in ~/.bash_profile
 # or even better https://github.com/YordanGeorgiev/ysg-confs
 export CLASSPATH=$CLASSPATH:/Library/Java/Extensions

 # you should not see the error anymore 
 cd $my_proj_dir ; sbt compile

 # neither here .. 
 cd $my_project_dir ; clear ; sbt "test:testOnly *testClass"
相关问题