Eclipse La jerarquía del tipo... es inconsistente con la anotación @Configurable
spring hierarchy (15)
Estoy desarrollando una aplicación Spring / Vaadin / Hibernate.
Todo funciona pero aún tengo los siguientes marcadores de error en Eclipse STS 2.8.1:
The hierarchy of the type BankView is inconsistent
The hierarchy of the type AbstractEntityView is inconsistent
Tengo la siguiente estructura para mis puntos de vista:
public class BankView extends AbstractEntityView {
@Resource private BankService bankService;
public void buildLayout() {
super.buildLayout();
// Use of the service here
}
}
public abstract class AbstractEntityView extends AbstractView {
public void buildLayout() {
verticalLayout = new VerticalLayout();
verticalLayout.setSpacing(true);
verticalLayout.setSizeFull();
setContent(verticalLayout);
super.buildLayout();
}
}
@Configurable(preConstruction = true)
public abstract class AbstractView extends com.vaadin.ui.VerticalLayout {
public AbstractView() {
super();
try {
buildLayout();
}
catch (AccessDeniedException e) { // Spring Security
System.out.println("GTFO !");
}
}
}
¿Qué está causando estos marcadores de error?
¿Intentó cerrar y abrir eclipse? A veces ayuda. Mi eclipse (probablemente porque estoy en una plataforma de Windows) a menudo muestra errores como ese, la única solución es salir del eclipse y volver a abrir más tarde.
De hecho, el problema fue porque hice AbstractListView @Configurable. Cuando puse esta anotación en la clase final (por ejemplo, BankView), todos los errores desaparecieron.
Gracias a todos por la ayuda. Si alguien tiene el mismo error, encontrará una solución en las diferentes respuestas.
El error dice que le falta el JAR referenciado.
En mi caso, recibí este error al crear un proyecto Spring MVC. Me perdí la tarea de agregar archivos JAR relacionados (spring-context-4.1.0.RELEASE.jar y spring-web-4.1.0.RELEASE.jar) en la ruta de compilación.
Aunque ya se habían agregado otros JAR de primavera (Core, Beans, AOP y MVC), pero también se necesitaban archivos JAR mencionados anteriormente. Una vez que agregué otros JAR, el error desapareció.
En mi caso, encontré la The hierarchy of the type ... is inconsistent
error The hierarchy of the type ... is inconsistent
en Eclipse causado por una clase de archivo jar desde la que extendía mi clase haciendo referencia a una clase que no estaba en la ruta de compilación.
Entonces si tienes:
// in other.dep.jar
class FromOtherDepJar {}
// in dep.jar
class FromDepJar extends FromOtherDepJar {}
// in the current project
class ProblematicClass extends FromDepJar {}
Si dep.jar
está en la ruta de dep.jar
del proyecto, pero other.dep.jar
no lo está, Eclipse mostrará la The hierarchy of the type ... is inconsistent
error The hierarchy of the type ... is inconsistent
.
Eche un vistazo a la Vista de problemas en Eclipse, la columna Descripción es más detallada sobre cuál es el problema real que sobrevolver.
En mi caso, estaba usando la versión incorrecta de JRE.
Este error también aparece cuando la biblioteca de soporte Android no coincide, es decir, cuando dos bibliotecas externas que usted usa tienen dos versiones de la biblioteca de soporte que muestra este error, (lo que hice fue hacer ambas versiones borrando una y copiando el soporte de otra biblioteca de terceros a este)
Existe la posibilidad de que sus dependencias maven no sean reconocidas. Vea si tiene Maven habilitado para este proyecto en particular. En Eclipse Maven se puede activar haciendo clic derecho en el proyecto y eligiendo Maven -> Habilitar dependencias Maven.
Mi problema era que las clases / jarras se recompilaban manualmente fuera de Eclipse usando las tareas ant y gradle. Actualizar todos los proyectos y reconstruir en eclipse hizo que los errores desaparecieran.
Otra causa es una referencia a una superclase o superinterfaz que existe, pero está en un paquete diferente, y no es ni importada ni totalmente calificada.
Esto se me ocurrió después de usar la refactorización de Eclipse para mover clases abstractas heredadas de una interfaz anidada. Después del movimiento, todas las subclases tenían el mensaje "la jerarquía del tipo X es inconsistente". El problema se resolvió importando a mano en las clases abstractas que se habían movido.
Resolví este error. La jerarquía del tipo ServiceController es un problema incoherente al eliminar todas las Referenced Libraries
de jar en Build Path
y volver a agregar todos los jars en eclipse IDE.
Resolví este problema agregando javax.servlet-api-3.0.1.jar. mi herramienta de desarrollo es Eclipse, pero mi proyecto fue desarrollado bajo el myeclipse, luego cuando importé el proyecto en eclipse, lanza "la jerarquía del tipo SysUserFilter es inconsistente", así que creo que myeclipse proporciona automáticamente javax.servlet-api-3.0 .1.jar, pero eclipse no.so necesario para importar manualmente.
Sé que probablemente este no sea el caso aquí, pero solo por la información adicional, este error puede ser causado al usar una jerarquía de interfaces y hay algún error (como genéricos incorrectos) en algún lugar más arriba en su jerarquía
Tuve este problema cuando agregué Actionbarsherlock a mi proyecto de Android y olvidé eliminar la biblioteca de soporte de mi proyecto original. La solución es eliminar android-support-v4.jar de su proyecto y limpiar el proyecto ... debe cargar la biblioteca de la carpeta actionbarsherlock.
Vaya y compruebe realmente su ruta de compilación (Propiedades del proyecto => Ruta de compilación Java => Bibliotecas) y el cuadro de diálogo podría mostrarle que falta algo. Este era mi problema, donde el proyecto estaba funcionando pero luego de uno o dos meses dejó de funcionar porque mi configuración de JRE cambió.
Vuelva a configurar Build Path para resolver el problema.