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 artifact | Group ID | Artifact ID |
---|---|---|
Java Activation Framework | javax.activation | activation |
J2EE | javax.j2ee | j2ee |
JDO | javax.jdo | jdo |
JMS | javax.jms | jms |
JavaMail | javax.mail | |
EJB 3 | javax.persistence | ejb |
J2EE Connector Architecture | javax.resource | connector-api |
Java Authorization Contract for Containers | javax.security | jacc |
Servlet | javax.servlet | servlet-api |
Servlet JSP | javax.servlet | jsp-api |
Servlet JSTL | javax.servlet | jstl |
JDBC 2.0 Optional Package | javax.sql | jdbc-stdext |
Java Transaction API (JTA) | javax.transaction | jta |
Java XML RPC | javax.xml | jaxrpc |
Portlet | javax.portlet | portlet-api |
JNDI | javax.naming | jndi |