Apache Maven 1.x has reached its end of life, and is no longer supported. For more information, see the announcement. Users are encouraged to migrate to the current version of Apache Maven.

Standard Sun JAR Names

A common problem when trying to use Maven to build a project is if that project depends on a particular JAR from Sun that cannot be distributed via Ibiblio due to its license. (refer to this document for a history)

This particularly affects J2EE technologies, but includes some other reference implementations. Projects are now starting to develop clean room implementations of some of these specifications under open source licenses, however in many cases they are not complete, or projects are not using them.

The only alternative is to download the JARs yourself (accepting Sun's license), and to place them into your local or internal repository.

Should you need to use them, this document aims to list a standard location for the JARs so that all projects can reference them consistently, and so will only need to be downloaded and put in place once. It may not be complete, so if you have use for a Sun JAR that is not listed here, please contact the Developer's Mailing List so that it can be added.

The current list of JARs have been built up by convention. The rule is use the two first package levels as groupId and the name of the reference implementation jar as artifactId

Product artifactGroup IDArtifact ID
Java Activation Frameworkjavax.activationactivation
J2EEjavax.j2eej2ee
JDOjavax.jdojdo
JMSjavax.jmsjms
JavaMailjavax.mailmail
EJB 3javax.persistenceejb
J2EE Connector Architecturejavax.resourceconnector-api
Java Authorization Contract for Containersjavax.securityjacc
Servletjavax.servletservlet-api
Servlet JSPjavax.servletjsp-api
Servlet JSTLjavax.servletjstl
JDBC 2.0 Optional Packagejavax.sqljdbc-stdext
Java Transaction API (JTA)javax.transactionjta
Java XML RPCjavax.xmljaxrpc
Portletjavax.portletportlet-api
JNDIjavax.namingjndi