So I recently had need to package up a Spring Roo Java application so that it could be run by someone else remotely. Now most SpringRoo apps I know are web apps - deployed as WAR files to a web server like Tomcat. But I was asked to make sure it ran from the command line. The main problem I had was that all my third party jar files are stored in my local Maven repository.
After some investigation (ok, I asked) I was pointed at One-Jar. This great little tool took three minutes of configuration and it just worked! I end up with a single jar file which worked from the command line. I used the maven plugin so all I did was add a few lines to my pom.xml and run "mvn package". it was that simple. (*)
Now the documentation reports some potential problems with SpringFramework 3.0.2 I didn't hit those problems.
(* - In fact the only problem I found was that I had left some tests in as "fail - test not written yet" and for some reason it didn't like that)
One-Jar is a great little tool which deserves more publicity.