Eclipse The hierarchy of the type … is inconsistent with @Configurable annotation

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 … Read more

Spring Security circular bean dependency

You could replace constructor-based dependency injection with setter-based dependency injection to resolve the cycle, see Spring Framework Reference Documentation: Circular dependencies If you use predominantly constructor injection, it is possible to create an unresolvable circular dependency scenario. For example: Class A requires an instance of class B through constructor injection, and class B requires an … Read more

Wicket vs Vaadin

I think I’ve invested some time for both frameworks. I really like both because they bring the Swing-alike coding to web development. And I don’t know easier ones for me (although there is click but I don’t like the velocity templating thing) And yes, there are differences. I wont have to worry much about the … Read more

webxml attribute is required with Servlet 3.0

By default maven-war-plugin will fail if it can’t find web.xml, see here. If you are creating Maven project using latest archetype, you will get this parameter set to false: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build> If you want to use web.xml instead of annotations, just create WEB-INF/web.xml and define servlet … Read more

Differences between GWT and Vaadin

In GWT application logic is normally run on client side. It only calls server when it needs to read/save some data. In Vaadin application logic is on server side. Client side must normally call server after every user interaction. GWT advantage: App logic (replies to user interaction) is faster as it is run locally in … Read more

Java to Clojure rewrite

The biggest “translational issue” will probably be going from a Java / OOP methodology to a Clojure / functional programming paradigm. In particular, instead of having mutable state within objects, the “Clojure way” is to clearly separate out mutable state and develop pure (side-effect free) functions. You probably know all this already 🙂 Anyway, this … Read more