Java 5 (also known as Java 1.5) was a fairly major release that makes using Java a lot quicker , easier and cleaner (click here for a full list of the new features, including Meta-Data , concurrency, Generic Types, Profiling , integrated JMX Admin facilities and XML support as part of the java core.).
The problem is that a lot of Application Servers still require the previous (1.4) Version. Even if you’re running on a Server (such as JBoss) that does fully support Java 5, the chances are upgrading an existing application will take a lot of time , mainly in testing effort to make sure nothing has broken. As Java matures, running on older versions will become more and more of an issue.
So, how do you get the benefit of the latest features , without losing the known stability of the previous version? One solution is Retroweaver which allows you to write in Java 5, and deploy in Java 1.4.