Java EE 6 published the following artifacts:
We need to do something similar for Java EE 7. More details
- The Java EE 6 jars are built here: main/appserver/javaee-api/javax.javaee. Rumor is they were built and published manually.
- The Java EE 6 build did some magic to include class files without the implementations code, so you could compile against the jar files, but not run.
- We recently changed our Java compatibility rules such that it is no longer necessary to produce the javaee.jar file in this special way with no code. We can now simply create a javaee.jar file that contains all (and only) the javax.* class files that make up the official Java EE platform API. Hopefully doing so is a simplification of the current process for producing this special javaee.jar file.
- If all javax.* API classes and sources artifacts are published to Maven Central (in api jars) then we could create a pom file that aggregates the classes and sources artifacts and produce the javaee.jar
- If a javax.* API is not published to Maven Central then we should work with the project team to get it published.
- Keep in mind that not all javax.* APIs are java.net projects. For example some are from JBoss like Weld (CDI) and bean validator
- Note that the GlassFish distribution also contains glassfish/lib/javaee.jar. In this case the jar file just contains a manifest that points to the actual jars. This is produced as part of the normal glassfish build. We need to make sure it is correctly updated to include the Java EE 7 APIs.