Este ejemplo muestra los pasos necesarios para la compilacion y ejecucion de un programa en Java que tiene Metodos Nativos escritos en C.
1. Escribir el codigo fuente de Java
HelloWorld.java2. Compilar el codigo fuente de Java
Compile el codigo Java usando el comando javac:
% javac HelloWorld.java
obtenemos el archivo HelloWorld.class
3. Generar el Header File (.h)
Para generar el Header File necesario para el codigo nativo en C use el comando javah:
% javah -jni HelloWorld
4.Escribir el codigo nativo (.c/.cc/.cpp)
Escriba el codigo fuente nativo incluyendo (#include ) el Header File antes generado:
5. Compilar el Codigo fuente Nativo
Para Unix se generara una Libreria ".so" (shared library)
% cc -G -I/usr/java/include -I/usr/java/include/Solaris HelloWorldImp.c -o libhello.so
Para DOS se generara una libreria ".dll" (Dynamic Link Library)
c:\> cl -I/usr/java/include -I/usr/java/include/Win32 HelloWorldImp.c -o -Fehello.dll
Nota: el comando cl forma parte de Microsoft Visual C++.
Para este ejemplo el codigo Java contiene el string "hello" como indicacion de la libreria. Java busca
en el caso de Unix la libreria "libhello.so". En el caso DOS/Windows busca "hello.dll".
6. Ejecutando el programa Java
(Solo en Unix) El programa Java buscara la libreria en el path indicado en la variable de entorno "LD_LIBRARY_PATH". Para setear esta variable haga lo siguiente:
% setenv LD_LIBRARY_PATH <path donde se encuentra la libreria>
(Para Windows) Java usa la variable de ambiente PATH para buscar la libreria. Si usted desea ejecutar el programa desde otro lado, agregue el path de la libreria a la variable PATH.
Ejecute el programa usando java:
% java HelloWorld
Helloworld!