Error al cargar librería java.lang.UnsatisfiedLinkError

Angel
22 de Octubre del 2008
Hola:

Al ejecutar el programa que pongo más abajo me aparece la siguiente excepción:

Exception in thread "main" java.lang.UnsatisfiedLinkError: ObtenerApache
at CargaLibreria.ObtenerApache(Native Method)
at Prueba.main(Prueba.java:18)

CÓDIGO:

class CargaLibreria {
public native String ObtenerTomcat();
public native String ObtenerApache();
//public native String ObtenerWINDIR();
public native String ObtenerHOME();

static{
System.loadLibrary("Prueba");
}
}

public class Prueba{

public static void main( String[] args ) {

String temp = new CargaLibreria().ObtenerTomcat();
System.out.println("TOMCAT: "+temp);
temp = new CargaLibreria().ObtenerApache();
System.out.println("APACHE: "+temp);
//temp = new Prueba().ObtenerWINDIR();
//System.out.println("WINDIR: "+temp);
temp = new CargaLibreria().ObtenerHOME();
System.out.println("HOME: "+temp);
String s = System.getProperty("java.home");
System.out.println(s);
}
}

Si en vez de utilizar una clase CargaLibreria, declaro los métodos nativos y cargo la librería en la clase Prueba me funciona. El problema que este código luego lo quiero meter en una clase y al hacerlo con una única clase, cuando llamo al método nativo por ejemplo new NombreClase().Metodo(); me dice que NombreClase no lo encuentra o que no hay un constructor así.

Si sabeis como solucionarlo.

Muchas Gracias.

Salu2

veralbe
22 de Octubre del 2008
A mi tambien me sale ese error y me pasa tambien al cargar una libreria y usar un metodo nativo de esa libreria, has conseguido arreglarlo?? me puedes decir como??

muchas graciaws