I am developing a Spring/Vaadin/Hibernate application.
Everything works but I still have the following error markers in Eclipse STS 2.8.1:
The hierarchy of the type BankView is inconsistent
The hierarchy of the type AbstractEntityView is inconsistent
I have the following structure for my views:
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 !");
}
}
}
What is causing these error markers?
In my case, I found the The hierarchy of the type ... is inconsistent
error in Eclipse being caused by a jar file class from which I was extending my class referencing a class that was not in the build path.
So if you have:
// in other.dep.jar
class FromOtherDepJar {}
// in dep.jar
class FromDepJar extends FromOtherDepJar {}
// in the current project
class ProblematicClass extends FromDepJar {}
If dep.jar
is in the project's classpath, but other.dep.jar
isn't, Eclipse will show the The hierarchy of the type ... is inconsistent
error.
Take a look at the Problems View in Eclipse, the Description column is more verbose about what the actual problem is than the hover-over.