7 abr 2014

Compilar y ejecutar programas Java desde la Consola de Windows

Lo primero es verificar que vamos a compilar y ejecutar con la versión de JAVA que deseamos, ya que podemos haber ido instalando diferentes kits de desarrollo y/o entornos de ejecución y  estar utilizando una versión antigua.
Para la compilación necesitamos un  kit de desarrollo (SDK Software Development Kit), mientras que para la ejecución nos bastará con un entorno de ejecución (JRE Java Runtime Environment). Los kits de desarrollo incluyen entornos de ejecución. En nuestro sistema podemos tener instalados diferentes SDK y diferentes JRE, normalmente en la carpeta C:\Archivos de Programa\java, cada uno de ellos en su propia carpeta.



Incluso podemos tener otros JRE en otros directorios, dependiendo de las aplicaciones instaladas que los utilicen, por ejemplo en c:\archivos de programa\oracle.
Si desde una consola de comandos ejecutamos  javac  –version  obtendremos información del kit que estamos utilizando, si ejecutamos   java   -version  nos indicará el entorno de ejecución con el que ejecutamos, que no tiene por qué ser el mismo con el que compilamos.


Cuando tenemos instalados varios kits, a no ser que nos posicionemos en el directorio de los ejecutables de un kit concreto, se ejecutarán según el orden en el que aparezcan en la variable de entorno del sistema PATH. Po ejemplo, si tenemos una variable de entorno con el siguiente contenido
C:\Archivos de programa\Oracle\jre\1.3.1\bin;C:\Archivos de programa\Java\jdk1.6.0_13\bin;%SystemRoot%\system32;C:\Archivos de programa\Java\jdk1.7.0_40\bin
y ejecutamos javac desde la consola,  se ejecutará el comando que se encuentra en C:\Archivos de programa\Java\jdk1.6.0_13\bin, ya que es el primer SDK de la variable. Si lo que ejecutamos es java, se ejecutará la versión que están en , C:\Archivos de programa\Oracle\jre\1.3.1\bin, ya que es el primer comando que encuentra tanto en SDK como en JRE.
Si lo que queremos es que se ejecuten las versiones de javac y java del SDK 1.7.0_40, lo que tendremos que hacer es colocarlas en la variable PATH, al principio, de esta forma:
C:\Archivos de programa\Java\jdk1.7.0_40\bin; C:\Archivos de programa\Oracle\jre\1.3.1\bin;C:\Archivos de programa\Java\jdk1.6.0_13\bin;%SystemRoot%\system32

COMPILACIÓN
Para compilar un fichero fuente en el directorio actual:
javac    miprograma.java
y obtendremos  miprograma.class
si el fichero pertenece a un paquete (estará situada en el directorio correspondiente al paquete), se ejecutará:
javac   mipaquete\miprograma.java
y nos colocará miprograma.class en el paquete (directorio), mipaquete
Si el fichero fuente proviene de un IDE, por ejemplo Netbeans, puede que nos haya incluido una línea de código del tipo:
package mipaquete;
con lo que tendríamos que situarlo dentro de un directorio de nombre mipaquete y compilarlo desde fuera, o bien quitar esta línea de código.
Podemos compilar a la vez clases situadas en diferentes paquetes, por ejemplo:
javac miclas1.java paq1\miclas2.java paq1\miclas3.java paq1\paq2\miclas12.java

EJECUCIÓN
Si el fichero compilado está en el directorio actual:
java  miprograma
sin poner la extensión .class
Si estuviera en un paquete, pondríamos:
java   mipaquete.miprograma
utilizando como separador el “.” en lugar de  “\”
Si se tratara de un fichero .jar, lo ejecutaríamos así:
java   -jar  miprograma.jar


No hay comentarios:

Publicar un comentario