javac.exe
Compilador de programas Java.
Sintaxis
javac [opciones] archivo.java
javac_g [opciones] archivo.java
Descripción
javac compila los archivos con código fuente Java (.java) en byte-codes Java (.class). Por defecto javac, genera los archivos .class en el mismo directorio del archivo fuente .java, excepto en el caso de utilizar la opción –d, que permite especificar otro directorio. Cuando un archivo fuente Java hace referencia a una clase que no esta definida en alguno de los archivos fuente de la línea de comandos, entonces javac hace uso de la variable de entorno CLASSPATH; por defecto, esta variable de entorno apunta a las clases del sistema.
Si se fija la propiedad javac.pipe.output a true, los mensajes de salida se envían a System.out. Si se fija esa propiedad a false, es decir, se deja sin indicar nada, los mensajes de salida se dirigen a System.err.
javac_g es una versión no optimizada de javac que se usa con depuradores de código como jdb.
Opciones
Se puede utilizar un argumento que comience por el carácter arroba, @, para indicar que las opciones se encuentran en un fichero, cada argumento en una línea. Estos argumento serán insertados automáticamente en la línea de comandos en la posición en que se haya indicado en el argumento @fichero.
-classpath path
| |
Indica a javac donde tiene que ir a buscar las clases especificadas en el código fuente. Esta opción elimina el path por defecto y cualquier otra ruta especificada mediante CLASSPATH. La ruta especificada puede ser una lista de directorios separados por (;) para sistemas Windows y (.) para sistemas Unix. Por ejemplo:
javac -classpath .;c:\uso\afq\classes;c:\utiles\java\clases
o en unix
javac [opciones] archivo.java
javac_g [opciones] archivo.java
|
-d directorio
| |
Especifica el lugar donde se guardan las clases; por defecto se guardan en el mismo directorio que los ficheros fuentes .java. Si no se especifica esta opción, los ficheros fuente deben situarse en directorios que sigan la estructura del paquete a que pertenecen, para que los ficheros .class resultantes de su compilación sean fácilmente localizables. Los parámetros -d y -classpath son independientes. El compilador lee del path donde están las clases y las guarda en el directorio de destino. Es pues muy útil que el directorio destino de las clases se encuentre en el camino de búsqueda que indica la opción classpath.
javac -d c:\uso\afq\classes MiPrograma.java
|
-depend
| |
Hace que el compilador considere la recompilación de ficheros .class referenciados en otros ficheros de clases. Normalmente, sólo recompila los ficheros .class que no encuentra o que están obsoletos, referenciados desde el código fuente.
|
-deprecation
| |
Genera un aviso por cada una de las clases o métodos que se hayan quedado obsoletas. Un método de una clase se dice que ha quedado obsoleto si en la documentación se le ha colocado el tag @deprecated. El compilador generará un aviso de métodos obsoletos aunque no se especifique esta opción.
|
-g
| |
Esta opción permite a javac incorporar números de línea e información de variables locales a los archivos de clases, para ser utilizada por las herramientas de depuración. Por defecto, solamente se generan los números de línea, excepto si la optimización (-O) está activada.
|
-g:nodebug
| |
No genera números de línea ni información de variables locales.
|
-nowarn
| |
Hace que javac no muestre los mensajes de aviso en la compilación.
|
-O
| |
Optimiza el código compilado. Las clases pueden tener un tamaño muy grande.
|
-verbose
| |
Hace que el compilador y el linkador muestren mensajes de los ficheros fuente que están siendo compilados y de las clases que se están cargando.
|
-JopcionJava
| |
Se puede pasar en opcionJava cualquier argumento al intérprete Java. El argumento no debe contener espacios. Se utiliza para ajustar el entorno de ejecución del compilador o la utilización de memoria.
|
Variables de Entorno
CLASSPATH
Esta variable de entorno es usada para indicar al sistema la ruta de las clases definidas por el usuario. Los directorios deben estar separados por punto y coma (;). Por ejemplo:
C:\users\afq\classes;C:\jdk\classes
|