viernes, 12 de septiembre de 2008

Compilar y ejecutar archivos de java desde la consola de comandos en windows o linux

JAVA 2 SDK (STANDARD DEVELOPMENT KIT)


Aunque existen varios IDE (Integrated development environment, Entorno de desarrollo integrado) para desarrollar aplicaciones en Java, nos referiremos al Java 2 SDK (Standard Edition 1.4.1), kit de desarrollo de Java, que es un regalo gratuito de Sun a la comunidad que programa en Java. Existen versiones para los sistemas operativos más habituales (Windows, Linux, Macintosh, etc.). Existe también una versión reducida del JDK, denominada JRE (Java Runtime Environment), destinada únicamente a ejecutar código Java (no permite compilar).

Entrar a http://www.sun.com y descargar el jdk apropiado, actualmente estamos en JDK 6 update 7.

Al instalar el JDK de Sun se crea en nuestro disco duro un directorio, generalmente C:\JDK1.4.1, en cuya carpeta BIN se almacenan los arhivos ejecutables, entre los que se encuentran los 4 programas básicos:

Javac.exe, compilador que genera archivos *.class apartir del código fuente (*.java). Los archivos *.java son de texto, se pueden crear y modificar en un editor de texto, usando la sintaxis propia de Java.

Java.exe, intérprete para sistemas PC/Windows, ejecuta los archivos de bytecode (ficheros compilados con extensión class). Los archivos *.class tienen un código ejecutable, bytecode, independiente de la plataforma, que debe ser ejecutado sobre una “máquina hipotética o virtual”, denominada Java Virtual Machine (JVM). Es esta JVM quien interpreta este código neutro convirtiéndolo a código particular de la CPU utilizada. Se evita tener que realizar un programa diferente para cada CPU o plataforma.

Appletviewer.exe, un visualizador de applets.

Javadoc.exe, generador de documentación sobre el programa, toma en cuenta la estructura y los comentarios del archivo *.class.


El funcionamiento básico del JDK es:

1 - En una aplicación Java:

• Escribimos utilizando un editor de texto (Bloc de Notas de Windows, por ejemplo) el código fuente de nuestro programa Java. Hemos de grabarlo con la extensión java, por ejemplo archivo.java.

• Desde MS/DOS y en la carpeta donde tenemos archivo.java, escribimos:

javac archivo.java [Return].

De esta forma compilaremos nuestro programa y se creará el fichero binario (bytecode) archivo .class

• Desde MS/DOS y en la carpeta donde tenemos archivo.java y archivo.class, escribimos:

java archivo [Return]

De esta forma se “interpreta” el fichero archivo.class en nuestro ordenador, es decir, se ejecuta.

- En un Applet:

• Igual que en el caso anterior, pero para ejecutar el applet, hemos de incluir la llamada correspondiente en una página Web. En lugar de utilizar el intérprete java.exe, utilizamos el navegador que contiene la MVJ como intérprete.


PATH

Para poder ejecutar programas Java desde cualquier carpeta, la carpeta con los archivos javac.exe y java.exe debe estar incluida en el PATH del sistema. Tecleando PATH en una ventana de MSDOS o del Intérprete de comandos, se muestran las rutas que en ese momento forman parte del PATH. Para añadir Java al PATH:

- windows 95-98-Millenium: en el fichero Autoexec.bat deben aparecer unas líneas como éstas:

set JAVAPATH=C:\jdk1.4.1
set PATH=.;%JAVAPATH%\bin;%PATH%

- windows NT-2000-XP: en Propiedades del Sistema / Opciones avanzadas / Variables de entorno hay que añadir la ruta "C:\JDK1.4.1\BIN;” a las existentes en la variable PATH.

- linux: usando bash como shell (es lo más habitual) es necesario editar el archivo ~/.bash_profile, es un archivo oculto (como todos los que empiezan por un punto) en nuestro directorio home. En la línea que comienza PATH=$PATH: aparecen directorios separados por dos puntos (:), a veces simplemente nuestro directorio home, añadimos el directorio bin de la carpeta de instalación de Java, como en el siguiente ejemplo:

PATH=$PATH: /directorio_de_java/bin: $HOME/bin
ENV=$HOME/.bashrc
USERNAME="root"
export USERNAME ENV PATH

etc...


CLASSPATH

Java utiliza además una nueva variable de entorno denominada CLASSPATH, la cual determina dónde buscar tanto las clases o librerías de Java (el API de Java) como otras clases de usuario. La variable CLASSPATH puede incluir la ruta de directorios o ficheros *.zip o *.jar en los que se encuentren los ficheros *.class. En el caso de los ficheros *.zip hay que observar que los ficheros en él incluidos no deben estar comprimidos.
Para acceder a la variable CLASSPATH:

- windows 95-98-Millenium: en el fichero Autoexec.bat debe aparecer una línea como ésta:

set CLASSPATH=.\;%JAVAPATH%\lib\classes.zip;%CLASSPATH%

- windows NT-2000-XP: en Propiedades del Sistema / Opciones avanzadas / Variables de entorno hay que crear una nueva variable llamada CLASSPATH, en la que escribir simplemente un punto:

CLASSPATH=.


Plugin JAVA para Internet en Linux

Para poder visualizar Applets de JAVA en el navegador Mozilla / Netscape de un sistema Linux, es necesario instalar un plugin (libjavaplugin_oji.so):

- libjavaplugin_oji.so está localizado en /usr/java/j2re[VERSION]/plugin/i386/ns610/
- crear un enlace simbólico a esa librería en el directorio de plugins de Netscape o Mozilla.
- realizar la operación como root
- método 1: entrar en el terminal el comando siguiente:
ln -s /usr/java/j2re[VERSION]/plugin/i386/ns610/libjavaplugin_oji.so [Mozilla Installation Directory]/plugins/libjavaplugin_oji.so
(reemplaza [VERSION] y [Mozilla Installation Directory] por los valores apropiados de tu sistema, por ejemplo 1.4.1 y /usr/local/mozilla)
- método 2: crear el enlace usando Konqueror de KDE o Nautilus de Gnome, desplazando la librería desde su carpeta de origen a su carpeta de destino con el botón derecho del ratón y seleccionando enlazar.
- reiniciar Mozilla / Netscape.

saludos


Miguel Cardenas