La web de consultoriajava.com, la web de los auténticos expertos en Java

Ir a inicio

Declaración de objetivos

Contratación

Know-How Java

Know-How de Negocio

Cartas abiertas

Contactar


Servicios habituales

Análisis y Diseño

Aportación de Know-How

Arquitecto J2EE

Auditoria de Proyectos

Extreme Programming

Formación experta

Gestión de proyectos

Preparación de equipos

Refactoring de sistemas

Reingeniería de proyectos

Selección de personal


Ayuda para novatos

Artículos publicados

Ejemplos de código

English   Castellano

Errores de compilación

Errores de compilación

Atención: Está visitando una sección de nuestro sitio ideada y redactada para programadores junior en J2EE, si precisa de soporte experto pongase en contacto con nosotros. Solo consultas comerciales, muchas gracias.

Listado de errores de compilación más habituales:

... cannot be resolved

Variable no definida en el ámbito donde estas intentando utilizarla

Causa 1: Puede que tengas definida una variable en un método y la estes intentando usar en otro método, eso no tira :).

Causa 2: Puede que tengas definida una variable dentro de un try, un catch o un for y que la estes intentando usar fuera de dicho bucle, eso no se puede hacer.

Causa 3: Comprueba que la declaración que haces de una variable y su uso coinciden, puedes haber escrito mal alguna letra de dicha variable.

Duplicate local variable ...

Este error se suele producir cuando declaras dos veces una variable en el mismo ámbito (por ejemplo en el mismo metodo, en el mismo bloque try o en el mismo for).

Cannot make a static reference to the non-static field ...

Este error se suele producir cuando intentamos acceder a un atributo estático desde la parte estática de la clase.

Causa 1: ¿Estas intentando acceder a un atributo no estático desde el metodo main? No puedes hacer eso, necesitas un objeto de la clase que contiene ese atributo o tambien podrías declarar el atríbuto en cuestión como estático.

The method ... is undefined for the type ...

El método al que estás intentando llamar no existe

Causa 1: ¿Estas seguro de que ese método está definido en la clase a la que estas accediendo?, parece que no está definido o que el nombre de la definición del método no es igual al de la llamada

Unhandled exception … must be caught or declared to be thrown

No estás gestionando una excepción que podría ser lanzada en tu aplicación

Causa 1: Seguramente necesitas poner un bloque try-catch o un throws en la cabecera de tu metodo. Java requiere que indiques de una de estas dos formas el procedimiento a seguir en el caso de que se lanze una excepción.

... cannot be resolved to a type

El tipo que estamos empleando (ya sea una clase o un Interfaz) no se corresponde con el de ninguna clase o Interfaz disponible.

Causa 1: Puede ser por que te falta indicar un JAR en el classpath.

Causa 2: Por que el nombre del tipo está mal escrito.

Causa 3: Por que falta el import del paquete que contiene ese tipo.

The declared package ... does not match the expected package ...

El nombre del paquete indicado no coincide con el del paquete esperado.

Causa más habitual: El directorio donde está la clase no coincide con el nombre de paquete indicado en la primera linea del fichero JAVA.

The constructor ...() is undefined

Al crear un objeto estás indicando un metodo constructor que no está definido para esa clase. Recuerda que en Java pierdes el constructor por defecto cuando la clase dispone de constructores específicos.

This method must return a result of type ...

Causa 1: Te falta poner la linea donde se hace el retorno (return loquesea).

Causa 2: Si has puesto el return asegurate de que ese return se ejecuta en cualquier caso (tanto si hay estructuras if, o bloques try, catch o lo que sea) una opción es poner el return al final del método.

Causa 3: Lo que pongas en el return debe ser un tipo compatible con el tipo de retorno del metodo.

Consejo: Intenta que solo haya una instrucción return en tu código, por ejemplo usa una varible que contenga el valor a retornar y que se retorne al final del método.