Compilador Java

Esta página de preferencias le permite configurar los diversos valores relacionados con las acciones de compilar, construir y comprobar el código fuente Java.

Las preferencias del compilador Java se clasifican en estas secciones:

General

Conformidad de JDK

Opción

Descripción

Valor predeterminado

Nivel de conformidad del compilador

Especifica el nivel de conformidad del compilador.

1.4

Utilizar valores de conformidad predeterminada

Si está habilitada, se aplican los valores de conformidad predeterminada para el nivel de conformidad del compilador.

Activada

Compatibilidad de archivos de clase generados

Especifica la compatibilidad de los archivos de clase generados.

1.2

Compatibilidad del fuente

Especifica la compatibilidad del código fuente aceptado.

1.3

Rechazar identificadores llamados 'assert'

Si está habilitada, el compilador emitirá un error o un aviso siempre que se utilice 'assert' como identificador (porque es una palabra clave reservada en J2SE 1.4).

Aviso

Rechazar identificadores llamados 'enum'

Si está habilitada, el compilador emitirá un error o un aviso siempre que se utilice 'enum' como identificador (porque es una palabra clave reservada en J2SE 5.0).

Aviso

Generación de archivo de clase

Añadir atributos de variable a archivos de clase generados

Si está habilitada, se añaden atributos de variable al archivo de clase. Esto permitirá visualizar los nombres de variables locales en el depurador (en los lugares en los que las variables estén asignadas categóricamente). El archivo .class resultante será más grande.

Activada

Añadir atributos de número de línea a archivos de clase generados

Si está habilitada, se añade información de número de línea al archivo de clase. Esto permitirá el resaltado del código fuente en el depurador.

Activada

Añadir nombre de archivo fuente a archivo de clase generado

Si está habilitada, el nombre del archivo fuente se añade al archivo de clase. Esto permitirá al depurador presentar el código fuente correspondiente.

Activada

Conservar variables locales no utilizadas

Si está habilitada, las variables locales no utilizadas (es decir, que no se han leído nunca) no se eliminan del archivo de clase. Si se eliminan, puede alterarse la depuración.

Activada

Incorporar bloques finally

Si está habilitada, los bloques finally se incorporan en los archivos de clase generados. Esto afecta positivamente al rendimiento, pero puede aumentar el tamaño de los archivos de clase.

Desactivada

Construir

General

Opción

Descripción

Valor predeterminado

Número máximo de problemas notificados por unidad de compilación

Especifica cuántos problemas se deben notificar para una unidad de compilación.

100

Habilitar uso de patrones de exclusión en carpetas fuente

Si esta opción está inhabilitada, no se puede asociar ninguna entrada de una vía de acceso de clases de proyecto a un patrón de exclusión.

Activada

Habilitar uso de múltiples ubicaciones de salida para carpetas fuente

Si esta opción está inhabilitada, no se puede asociar ninguna entrada de una vía de acceso de clases de proyecto a una ubicación de salida específica, impidiendo así la utilización de múltiples ubicaciones de salida.

Activada

Problemas relacionados con la vía de construcción

Interrumpir construcción al producirse errores de vía de construcción

Permite conmutar el constructor para que interrumpa si la vía de acceso de clases no es válida.

Activada

Vía de construcción incompleta

Indica la gravedad del problema notificado cuando no existe una entrada en la vía de acceso de clases o cuando la entrada no es legítima o visible (por ejemplo, cuando está cerrado un proyecto al que se hace referencia).

Error

Dependencias circulares

Indica la gravedad del problema notificado cuando hay un proyecto implicado en un ciclo.

Error

Binarios necesarios incompatibles

Indica la gravedad del problema notificado cuando un proyecto necesita binarios incompatibles.

Ignorar

Carpeta de salida

Recursos duplicados

Indica la gravedad del problema notificado cuando en la ubicación de salida se copiará más de una aparición de un recurso.

Aviso

Borrar carpetas de salida al hacer limpieza de proyectos

Indica si el constructor Java (Java Builder) tiene autorización para hacer limpieza de las carpetas de salida al realizar operaciones de construcción completas.

Activada

Recursos filtrados

Lista de patrones de archivo separados por una coma que no se copian en la carpeta de salida. 

''

Errores/Avisos

Estilo de código

Opción

Descripción

Valor predeterminado

Acceso no estático a un miembro estático

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se acceda a un campo o a un método estático con un receptor de expresión. Las referencias a un método estático deben estar calificadas por el nombre de un tipo.

Aviso

Acceso indirecto a un miembro estático

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se acceda indirectamente a un campo o método estático. Los campos estáticos de una interfaz deben estar calificados por el nombre del tipo declarante.

Aviso

Acceso no calificado a campo de instancia

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un acceso a campo que no esté calificado (por ejemplo, en el que falte 'this').

Ignorar

Bloque vacío no documentado

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una sentencia de bloque vacío sin ningún comentario explicativo.

Ignorar

Acceso a un miembro no accesible de un tipo delimitador

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que emule el acceso a un miembro no accesible de un tipo delimitador. Tales accesos pueden tener implicaciones en el rendimiento.

Ignorar

Métodos con nombre de constructor

Dar a un método el nombre de un constructor se considera generalmente como programación de estilo pobre. Si se habilita esta opción, el compilador indicará este caso como error o aviso.

Aviso

Utilización de series no externalizadas

Si se habilita esta opción, el compilador emitirá un error o un aviso para los literales de tipo serie no externalizados (es decir, no señalados con el código //$NON-NLS-<n>$). 

Ignorar

Problemas potenciales de programación

Clase serializable sin serialVersionUID

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que un tipo que implemente 'java.io.Serializable' no contenga un campo serialVersionUID.

Aviso

Asignación sin efecto (por ejemplo, 'x = x')

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que haya una asignación sin efecto (por ejemplo, 'x = x').

Aviso

Posible asignación booleana accidental (por ejemplo, 'if (a = b)')

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una posible asignación booleana accidental (por ejemplo, 'if (a = b)').

Aviso

Sentencia 'finally' que no se completa con normalidad

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que haya una sentencia 'finally' que no se complete con normalidad (por ejemplo, que contenga una sentencia de retorno).

Aviso

Sentencia vacía

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una sentencia vacía (por ejemplo, un punto y coma superfluo).

Ignorar

Utilizar una matriz de tipo char en una concatenación de series

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se utilice una expresión de tipo char[] en concatenaciones de series:

"hello" + new char[]{'w','o','r','l','d'}

Aviso

Bloques catch ocultos

Localmente con respecto a una sentencia try, algunos bloques catch pueden ocultar otros; por ejemplo:

try { throw new java.io.CharConversionException();
} catch (java.io.CharConversionException e) {
} catch (java.io.IOException e) {}.

Si se habilita esta opción, el compilador emitirá un error o un aviso para bloques catch ocultos que se correspondan con excepciones comprobadas.

Aviso

Indefinición y conflictos de nombres

Declaración de campo que oculta otro campo o variable

Si se habilita esta opción, el compilador emitirá un error o un aviso si una declaración de campo oculta otro campo heredado.

Ignorar

Declaración de variable local que oculta otro campo o variable

Si se habilita esta opción, el compilador emitirá un error o un aviso si una declaración de variable local oculta otro campo u otra variable.

Ignorar

Incluir parámetros de constructor o método set

Si se habilita esta opción, el compilador emitirá adicionalmente un error o un aviso si un parámetro de constructor o de método set oculta otro campo u otra variable.

Desactivada

Parámetro de tipo que oculta otro tipo

Si se habilita esta opción, el compilador emitirá un error o un aviso si, por ejemplo, un parámetro de tipo de una clase interior oculta un tipo exterior.

Aviso

Métodos alterados temporalmente sin estar visibles en paquete

Un método predeterminado de un paquete no está visible en otro paquete y, por lo tanto, no se puede alterar temporalmente. Si se habilita esta opción, el compilador indicará este caso como error o aviso.

Aviso

Conflicto de método de interfaz con método de 'Object' protegido

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que una interfaz defina un método incompatible con un método de Object no heredado. Mientras no se resuelva este conflicto, una interfaz así no se puede implementar; por ejemplo,

interface I {
   int clone();
}

Aviso

Indefinición y conflictos de nombres

API obsoleta

Si se habilita esta opción, el compilador indicará la utilización de una API obsoleta como error o aviso.

Aviso

Señalar el uso de API obsoleta dentro de código obsoleto

Si se habilita esta opción, el compilador indicará la utilización de una API obsoleta dentro de código obsoleto. La gravedad del problema se controla con la opción "API obsoleta".

Desactivada

Señalar alteración temporal o implementación de método obsoleto

Si se habilita esta opción, el compilador señalará la alteración temporal o la implementación de un método obsoleto. La gravedad de este problema se controla con la opción "API obsoleta".

Desactivada

Referencia prohibida (reglas de acceso)

Si se habilita esta opción, el compilador señalará una referencia prohibida especificada en las reglas de acceso.

Error

Referencia inconveniente (reglas de acceso)

Si se habilita esta opción, el compilador señalará una referencia inconveniente especificada en las reglas de acceso.

Aviso

Código innecesario

Variable local que nunca se lee

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se declare una variable local que no se utilice nunca dentro de su ámbito.

Aviso

Parámetro que nunca se lee

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se declare un parámetro que no se utilice nunca dentro de su ámbito.

Ignorar

Comprobar métodos de alteración temporal o implementación

Si se habilita esta opción, el compilador emitirá adicionalmente un error o un aviso siempre que se declare un parámetro que no se utilice nunca dentro de su ámbito en métodos de alteración temporal o de implementación.

Desactivada

Importaciones no utilizadas

Si se habilita esta opción, el compilador emitirá un error o un aviso para las referencias a importaciones no utilizadas.

Aviso

Miembros locales o privados no utilizados

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que se declare un método local o privado que no se utilice nunca dentro de la misma unidad.

Aviso

Sentencia else innecesaria

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una sentencia else innecesaria (por ejemplo, if (condición) return; else hacerAlgo();).

Ignorar

Operación de conversión de tipo o 'instanceof' innecesaria

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una operación innecesaria de conversión de tipo o 'instanceof' (por ejemplo, if (object instanceof Object) return;).

Ignorar

Declaración innecesaria de excepción lanzada comprobada

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una declaración innecesaria de una excepción lanzada.

Ignorar

Comprobar métodos de alteración temporal o implementación

Si se habilita esta opción, el compilador emitirá adicionalmente un error o un aviso siempre que encuentre una declaración innecesaria de una excepción lanzada en un método de alteración temporal o de implementación.

Desactivada

Opciones de J2SE 5.0

Operación de tipo no comprobada

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una operación de tipo genérico no comprobada.

Aviso

Parámetro de tipo genérico declarado con límite de tipo final

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un límite de tipo que implique un tipo final.

Aviso

Coincidencia de tipos inexacta para argumentos vararg

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una coincidencia de tipos inexacta para argumentos vararg.

Aviso

Conversiones de encaje y desencaje

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una conversión de encaje o desencaje. El encaje automático puede afectar negativamente al rendimiento.

Ignorar

Anotación '@Override' ausente

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un método que altere temporalmente a otro método implementado, pero falta la anotación '@Override'.

Ignorar

Anotación '@Deprecated' ausente

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un tipo en desuso sin la anotación '@Deprecated' adicional.

Ignorar

Anotación utilizada como superinterfaz

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un tipo que implemente una anotación. Aunque es posible, no conviene hacerlo.

Aviso

No se han cubierto todas las constantes de enumeración en 'switch'

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre una sentencia switch que no contenga sentencias case para todas y cada una de las constantes de la enumeración a la que se hace referencia.

Ignorar

Símbolos de aviso de no manejado en '@SuppressWarnings'

Si se habilita esta opción, el compilador emitirá un error o un aviso siempre que encuentre un símbolo de aviso de no manejado en una anotación '@SuppressWarnings'.

Aviso

Habilitar anotaciones '@SuppressWarnings'

Si se habilita esta opción, el compilador procesará las anotaciones '@SuppressWarnings'.

Activada

Conceptos relacionados

Constructor Java

Tareas relacionadas

Construir un programa Java
Trabajar con vías de construcción
Trabajar con los JRE

Consulta relacionada

Preferencias de las variables de vía de acceso de clases
Propiedades de la vía de construcción Java