Once upon a time not too long ago, JBoss AS distributions shipped a single jboss-javaee.jar that included the EE APIs as required by the EE platform specification. This single jar was a good idea but maintenance of the project and the ability to easily modify and consume outside of JBoss AS was not. Additionally, it did not include the full set of EE APIs and duplication of APIs was consistently problematic during project integration. Starting with JBoss AS 6 and the feature request to break the APIs in separate projects, the JBoss Java EE API Specs project was redesigned with the following goals in mind:
- Maintain a single repository containing the required APIs as defined by the EE Platform Specification
- Allow individual release cycle per each technology API set
- Define a naming scheme which references the API specification version to avoid confusion between that and the version of the artifact
- Promote adoption of these versioned APIs for use in all JBoss-released projects
- Aggregate JavaDocs for the complete EE API set and publish to the Community for developer reference
Most of these goals have already been achieved. These APIs are used currently in JBoss AS 6 and JBoss AS 7 and ready to be consumed by any project that requires them. They're available today from the JBoss nexus repository.
Also available is the ability to include the jboss-javaee-6.0 aggregate pom to bring in all the EE APIs with one single dependency:
I've started version 2.0.0 series and released 2.0.0.Beta1 of the aggregate for use with JBoss AS 7. The version scheme is intended to denote the AS version the aggregate pom aligns with but the individual APIs are certainly compatible between the two (as both are implementations of the Java EE 6 Web Profile specification).
If you have other requests or issues related to the JBoss Java EE API specs project, file it in the JBEE JIRA project to let me know.