Herramientas de usuario

Herramientas del sitio


anexos:cmd

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

anexos/cmd.txt · Última modificación: 2024/09/16 20:53 por 127.0.0.1