Five things I hate about AppFuse
First of all I have to thank Matt Raible for his great work with AppFuse. Appfuse gives you a lot of choices and integrates very well with a lot of frameworks/tools.
Still there are a couple of things I really hate, most of them realted to the build mechanism:
- It's nice to choose between the usage of JSP 2.0 or before, but making the changes (to all jsps and the web.xml) every time I build my app sucks. This should be part of the initial setup (as the package naming) and not part of each build. How often do I switch my Server from an old version to a new one or vica versa?
- Seperating the classes in web, services and dao is good, but I hate the building of jar-Files for the different layers. Just take the classes under dao and service and copy them into the war or move them over to the webapps folder as it is done with the web classes!
- Eclipse crashed with OutOfMemory errors. Always when trying to open the build file. The build file is really, really long, with lots of stuff in there. IMO 50% of it could be deleted.
- Generation of Hibernate-Mapping files. I really hate it to look within a jarfile how the Hibernate mapping file looks like. It is nice to get it generated, but I prefer to be able make adjustments to it by hand to try out things quickly. And it is quite hard to enter special SQL statements in an Hibernate file, if it gets overwritten all the time.
- I don't like to get my struts.xml merged from many sources. I like to have one struts-config file holding all my struts configuration.
So Appfuse itself is a great tool and I also like the generation of CRUD operations from a POJO or DB table, but the ant-file is a big mess and it probably is the best to simply throw it out totally.
And the move to Maven-2 with Appfuse-2 is not an option for me. Maven is even more flawed than the current Appfuse build system. Vom Regen in die Traufe!
I hope I haven't sounded like the Bileblog ;)
Matt responded already in his blog. Nice and fast.
My Eclipse is already ready for hugh memory consumption (eclipse.exe -vmargs -Xms256m -Xmx512m), but still get this OOM :(
And thanks for the @hibernate FAQ reference and the other remarks. Very helpful.