Tabla de Contenidos
Anexo: Java desde Línea de Comandos
En este apartado vamos a repasar como trabajar con las herramientas que incorpora el JDK.
Java Development Kit (JDK)
Al instalar el entorno de desarrollo de Java se incorporan dos paquetes:
- JDK (Java Development Kit): entorno de desarrollo de Java. Contiene lo necesario para crear aplicaciones Java.
- JRE (Java Runtime Environment): entorno de ejecución de java. Contiene lo necesario para ejecutar aplicaciones creadas en Java.
Se instalan en directorios diferentes, por defecto en “Archivos de programa/Java”. Un equipo que tenga el JRE puede ejecutar aplicaciones creadas en Java.
Por otro lado, el JDK incorpora las herramientas necesarias para desarrollar en Java. Estas herramientas se encuentran en el directorio bin. Algunas de las más usadas son:
- compilador: javac.exe
- empaquetador de fichero JAR: jar.exe
- generador de documentacion de java: javadoc.exe
- desemsamblador de bytecode de java: javap.exe
Todas estas herramientas están pensadas para ser ejecutadas desde linea de comandos, o ejecutadas por aplicaciones que dispongan de una interfaz gráfica, como puede ser un entorno de desarrollo (IDE). Para que nuestro entorno de desarrollo pueda compilar, generar ficheros JAR, generar Javadocs, etc, necesita usar las herramientas incluidas en el JDK.
Configurar Java para acceder desde linea de comandos
Normalmente, tanto si utilizamos instaladores de JDK para Windows, como si lo instalamos en Linux, se establece un enlace a estos programas para que nuestro terminal de comandos pueda ejecutarlos. Por ejemplo, al ejecutar javac desde un terminal, deberíamos ver algo como esto:
Si me indica que “no se reconoce el comando…“ , entonces debo configurarlo. Para añadirlo tan solo debo configurar la variable PATH del sistema con la ruta del directorio del jdk de java. Se explica aquí.
Ejecutar con comando java
Ejecutar ficheros .class
Para ejecutar haremos uso del comando java seguido del nombre del fichero .class
, pero sin incluir la extensión .class
:
java HolaMundo
En el caso de que la clase .java
tenga una definición de package:
- HolaMundo.java
package com.fvaldeon.paquete1; //Definicion del package public class HolaMundo{ public static void main( String[] args ){ System.out.println( "Hola mundo" ); } }
..se debe desde el directorio en el que se encuentre el primer paquete:
java com/fvaldeon/paquete1/HolaMundo
Observar que a la hora de ejecutar un fichero compilado no se indica su extensión al final (.class).
Ejecutar un fichero JAR
Para compilar un programa empaquetado en un fichero .jar
:
java -jar HolaMundo.jar
En este caso, si el fichero tiene interfaz gráfica, se abrirá y podremos ver en la linea de comandos los mensajes que se pudieran mostrar por consola desde la aplicación.
Compilar con comando javac
Para compilar hago uso del programa javac seguido del nombre del fichero .java
que quiero compilar.
javac ficheroFuente [opciones] #Ejemplo javac HolaMundo.java
Si existen errores de compilación nos lo mostrará e indicará la linea. Si todo está correcto, no mostrará nada pero generará un fichero .class
en el mismo directorio que el .java
Compilar una clase en un Package
Para compilar un fichero fuente que contiene la definición package (1ª linea del fichero fuente) debo compilarlo desde el directorio en el que se encuentra el package:
javac package/subpackage/HolaMundo.java
Compilar varios ficheros
Para compilar varios ficheros tengo varias opciones:
- Indicar todos los ficheros al comando javac separados por un espacio:
javac HolaMundo.java Principal.java javac paquete1/HolaMundo.java paquete1/Principal.java
- Utilizar el caracter comodín (*):
javac *.java javac paquete1/*.java paquete2/*.java
- Si en el código de un fichero fuente se hace referencia a otro fichero fuente que se encuentra en el mismo directorio, se compilará también automáticamente.
© 2024 Fernando Valdeón