All | General | Photography | Java | Anime | Motorcycles
20080106 Sunday January 06, 2008

Struts Sprout - Annotation-Powered Simplicity for Struts

Some time ago, I was looking for a way to simplify the build process for a Java application I've been working on for quite some time. It started out using XDoclet 1.2 to generate the EJB and Struts configuration files. As the years have gone by, that version of XDoclet hasn't aged very well, and even the improvements made in Java 5 proved problematic for it. Eventually, some folks released an updated xjavadoc for use with it, but it never worked quite correctly (support for some syntax changes were incomplete).

Some time ago, I made the changes needed to move to EJB 3, and eliminated XDoclet from that portion of the build, but I was still using it to generate the struts-config.xml. I always meant to do something about that, but ended up just dragging my feet on it. I'd stumbled across Sprout a long time ago, it seemed interesting, but I never did anything with it at the time.

Finally, in December of last year, XDoclet had annoyed me enough so I went back to looking at Sprout. Its support for configuring Struts wasn't complete enough to cover what I needed it to be able to do so I dropped the author, Seth Fitzsimmons a note asking if he'd done anything with Sprout beyond the version posted to his web site. Unfortunately here's what I received back: "I haven't touched Sprout (or Struts, for that matter) for about 3 years now, but it's been waiting all that time for someone like you to find it useful. You're welcome to either continue to use my svn repo as you change things or move it elsewhere."

So we chatted a bit by email, and I decided to set it up as a Google Code project: Struts Sprout and add the features to it that I needed. Finally, today, I got around to adding some of the code that I wrote back in December to the public site. Once I have a chance to make the classpath scanning a little more robust, and write some examples using the new annotations, I'll post a download with a new version number, but until that time, at least the changes are available in Subversion.

Posted by rich ( Jan 06 2008, 12:49:50 PM CST ) Permalink


RSS Feeds