The purpose of this wiki is to document the current project JDK requirements in one place.
Recommended JDK
The current recommended JDK, which is supported in all JBoss products is Java 6. The main reason is that Java 5 has been EOLd. Due to this reason, and also newer specs requiring Java 6, it's fine to upgrade projects to compile on 6, however, care should be taken to ensure this does not break other projects which are forced to work on earlier versions.
JDK 1.4 or Newer
Project Name | Reason |
---|---|
Hibernate | Prior to 3.5 could run in 1.4 or 1.5; uses 1.5 for build. 3.5 adds the ability to run in 1.6 (JDBC 4) as well; uses 1.5 & 1.6 for build. 3.6 will drop 1.4 compat. |
JDK 1.5 or Newer
Project Name | Reason |
---|---|
All EE5 API Jars | EE5 requires Java 5, and should support Java 5 implementations |
Drools-guvnor | Needs java 5 |
Drools-expert | Needs java 5 |
JSFUnit | Runs on Java 5, but JDK6 needed to compile the project because of a JDK5 bug |
JBoss Marshalling (<=1.2) | ServiceLoader features in 1.2 require Java 6 though... |
XNIO 1.x | |
Microcontainer | Although I see VFS3 is JDK6 based, any particular reason? |
HornetQ | Requires at least Java 5, but we recommend Java 6 |
JBoss Messaging | Requires java5 |
ShrinkWrap | Java6 for compilation (@Override / interfaces), Java5 runtime |
JBoss Tools 3.0|3.1 | Compiled for Java 5 since that is what AS 4.x and Eclipse 3.4 supports. |
JDK 1.6 or Newer
Project Name | Reasons other than 5 EOL (if any) |
---|---|
ModeShape | Dependencies (right now only Infinispan) |
Stormgrind | Various java projects - all built on java 6 (mostly due to dependencies that require 6) |
JBoss Marshalling (1.3+) | ServiceLoader, Protocol optimizations for JDK 6 types |
XNIO 2.x | ServiceLoader |
JBoss Remoting 3 | ServiceLoader, Dependencies, support for JDK 6 types |
JBoss LogManager | Uses UTF-8 property files (weak reason, I know) |
JBoss Threads 2.x | JDK 6 concurrent data structure & thread pool features |
JGroups | Concurrent data structures in JDK 6 |
Teiid | JDBC 4 |
EJB3 | N/A; all target runtimes are JDK6 so we upgraded |
Infinispan | JDK 6 concurrent libs |
Comments