2012-06-29 25 views
5

Hola estoy usando un nombre lib de terceros Hyperic Sigar. Cuando corro mi código que muestra el error,Hyperic Sigar Mac Osx Error -No Library

Este es mi código:

package pack; 

import org.hyperic.sigar.*; 

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

} 

Este es el mensaje de error:

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) 

Im el desarrollo de Mac OS X Snow Leopard Usando Eclipse IDE para Java Los desarrolladores se encuentran en alguna publicación anterior ("no sigar-x86-winnt.dll in java.library.path" error when using Hyperic SIGAR on multi language OS) La publicación dice que necesito agregar alguna ruta, si es así ... ¿Cómo agrego esa ruta en Mac Osx? Espero que alguien pueda ayudar ^^

Respuesta

3

Primero Necesita agregar Sigar.jar a su biblioteca, luego agregue el archivo .dylib a su biblioteca (debe elegir el archivo para su sistema operativo que está usando). En su caso, debe agregar libsigar-universal64-macosx.dylib, puede encontrar estos archivos en "hyperic-sigar-1.6.4/sigar-bin/lib".

2

Tengo la solución, La solución es agregar un archivo jar (en mi caso) a mi proyecto. Es el mismo concepto cada vez que utilizamos una biblioteca de terceros, como el controlador mysql para java. Entonces en mi caso, necesito agregar log4j.jar y sigar.jar a mi ruta.

Haga clic con el botón derecho en su proyecto eclipse y luego vaya a Ruta de compilación> Configurar ruta de compilación> Ruta de compilación Java> Agregar JAR externos y agregue sigar.jar a su proyecto.

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"