Jump to: navigation, search

Difference between revisions of "EclipseLink/Maven"

Line 1: Line 1:
<div style="float:right;width:300px">
+
<div style="float:right;width:300px"><div align="center" style="background:#ffffff;width:275px">
<div style="background:#ffffff;width:275px" align="center">
+
__TOC__  
__TOC__
+
</div> </div>
</div>
+
The EclipseLink project currently produces a maven repository for its releases
</div>
+
  
== Location ==
+
'''http://download.eclipse.org/rt/eclipselink/maven.repo'''<br>
  
The use of the Eclipse mirrors for Maven repositories has been reported to cause varying issues from artifacts being reported as unavailable to local maven repository corruption. Therefore, instead of using the mirrored download URL:
+
== Example POM  ==
* http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/rt/eclipselink/maven.repo
+
it is recommended that you use the unmirrored URL to directly access the EclipseLink Maven repository on the Eclipse download site instead:
+
* http://download.eclipse.org/rt/eclipselink/maven.repo
+
  
''Note: because of the way these repositories are maintained at Eclipse, you will not be able to see into them by clicking on these links.  If you have issues actually running a maven build, please report those issue via either the users mailing list or the forum. (If you are using Nexus, please see below before doing that)''
+
To help users diagnose Maven issues, we have created a basic POM that simply establishes EclipseLink dependencies (currenly using the 2.4.0 release). Executing it will verify your connection to the repository. Alternate Repository URLs are discussed. The POM can be found [[http://www.eclipse.org/downloads/download.php?file=/rt/eclipselink/pom.xml here]].
  
== Basic Example POM ==
+
If you have any questions about using it, or experience problems, please let us know on our users mailing list or forum.
  
To help users diagnose Maven issues, we have created a basic POM that simply establishes EclipseLink dependencies (currenly using the 2.4.0 release). Executing it will verify your connection to the repository. Alternate Repository URLs are discussed. The POM can be found [[http://www.eclipse.org/downloads/download.php?file=/rt/eclipselink/pom.xml here]].
 
  
If you have any questions about using it, or experience problems, please let us know on our users mailing list or forum.
+
== Identifiers  ==
  
== Proxying using Repository Managers (Nexus et al.) ==
+
=== Group Id: org.eclipse.persistence  ===
  
We appreciate your attempt to proxy the EclipseLink repository using a repository manager like Nexus and others. It reduces load from our servers and speeds up your local builds by reducing traffic over the web. There is work in progress to publish our releases of EclipseLink on the Eclipse Foundation's Nexus instance at http://maven.eclipse.org/nexus, but this is not finally done yet. Currently we only publish to a P2 instance directly, which is not trivial to proxy using a Maven repository manager due to technical differences, but it is possible with some helpful information:
+
{|
 
+
|-
=== Using Nexus Professional ===
+
! Artifact Id  
 
+
Nexus Professional natively can proxy P2 repositories. Just provide the address "http://download.eclipse.org/rt/eclipselink/maven.repo/" and set the proxy type to P4. See http://www.sonatype.com/books/nexus-book/reference/p2-sect-intro.html for more details.
+
 
+
=== Using Nexus Open Source ===
+
 
+
Since Nexus Open Source cannot natively proxy P2 repositories, you have to take a bit more care:
+
* Provider: "Maven2 Repository"
+
* Remote Storage Location: "http://download.eclipse.org/rt/eclipselink/maven.repo/"
+
* Download Remote Indexes: "False"
+
 
+
You will be able to download artifacts using these seetings (which is what you primarily want), but note that you will neither be able to search nor browse artifacts that have not already been downloaded into the Nexus cache. The reason is that without native P2 support, Nexus read an index or list of artifacts found in the remote P2 repository. As this is only a secondary use of a repository manager, we hope you are not too disappointed. Remember, this will work as soon as we moved over to Eclipse's Nexus instance.
+
 
+
See http://www.sonatype.com/books/nexus-book/reference/config-sect-new-repo.html#id3046241 for more detail.
+
 
+
== Identifiers ==
+
=== Group Id: org.eclipse.persistence ===
+
 
+
{|{{BMTableStyle}}
+
|-{{BMTHStyle}}
+
! Artifact Id
+
 
! Description
 
! Description
 
|-
 
|-
| javax.persistence || EclipseLink version of the javax.persistence classes (OSGi enabled)
+
| javax.persistence  
 +
| EclipseLink version of the javax.persistence classes (OSGi enabled)
 
|-
 
|-
| org.eclipse.persistence.equinox || EclipseLink JPA - Equinox OSGi Fragment
+
| org.eclipse.persistence.equinox  
 +
| EclipseLink JPA - Equinox OSGi Fragment
 
|-
 
|-
| org.eclipse.persistence.jpa.modelgen.processor || EclipseLink JPA Modelgen Processor (non-OSGi) (Meta-data only)
+
| org.eclipse.persistence.jpa.modelgen.processor  
 +
| EclipseLink JPA Modelgen Processor (non-OSGi) (Meta-data only)
 
|-
 
|-
| org.eclipse.persistence.tools.oracleddl |Oracle DB model - OSGi bundle
+
| org.eclipse.persistence.tools.oracleddl  
 +
| Oracle DB model - OSGi bundle
 
|-
 
|-
| org.eclipse.persistence.weaving || EclipseLink JPA - "Weaving for Equinox" OSGi Fragment
+
| org.eclipse.persistence.weaving  
 +
| EclipseLink JPA - "Weaving for Equinox" OSGi Fragment
 
|-
 
|-
|
+
| <br>
 
|-
 
|-
| eclipselink || The non-OSGI EclipseLink jar (includes the functionality below)
+
| eclipselink  
 +
| The non-OSGI EclipseLink jar (includes the functionality below)
 
|-
 
|-
| org.eclipse.persistence.antlr || EclipseLink ANTLR OSGI bundle
+
| org.eclipse.persistence.antlr  
|-
+
| EclipseLink ANTLR OSGI bundle
| org.eclipse.persistence.asm || EclipseLink ASM OSGI bundle
+
 
|-
 
|-
| org.eclipse.persistence.core || EclipseLink Core OSGI bundle  
+
| org.eclipse.persistence.asm
 +
| EclipseLink ASM OSGI bundle
 
|-
 
|-
| org.eclipse.persistence.dbws || EclipseLink DBWS OSGI bundle
+
| org.eclipse.persistence.core
|-
+
| EclipseLink Core OSGI bundle
| org.eclipse.persistence.jpa || EclipseLink JPA OSGI bundle
+
 
|-
 
|-
| org.eclipse.persistence.jpa.modelgen || EclipseLink Modelgen pre-processor (non-OSGI)
+
| org.eclipse.persistence.dbws
 +
| EclipseLink DBWS OSGI bundle
 
|-
 
|-
| org.eclipse.persistence.moxy || EclipseLink MOXY OSGI bundle
+
| org.eclipse.persistence.jpa
 +
| EclipseLink JPA OSGI bundle
 
|-
 
|-
| org.eclipse.persistence.nosql || OSGI fragment of Core bundle for NoSQL support (including MongoDB)
+
| org.eclipse.persistence.jpa.modelgen
 +
| EclipseLink Modelgen pre-processor (non-OSGI)
 
|-
 
|-
| org.eclipse.persistence.oracle || OSGI fragment of Core bundle with Oracle-DB specific EclipseLink extensions
+
| org.eclipse.persistence.moxy
 +
| EclipseLink MOXY OSGI bundle
 
|-
 
|-
| org.eclipse.persistence.oracle.nosql || OSGI fragment of Core bundle for Oracle specific NoSQL support
+
| org.eclipse.persistence.nosql  
 +
| OSGI fragment of Core bundle for NoSQL support (including MongoDB)
 
|-
 
|-
| org.eclipse.persistence.osgi ||  
+
| org.eclipse.persistence.oracle
 +
| OSGI fragment of Core bundle with Oracle-DB specific EclipseLink extensions
 
|-
 
|-
| org.eclipse.persistence.sdo || EclipseLink SDO OSGI bundle
+
| org.eclipse.persistence.oracle.nosql
 +
| OSGI fragment of Core bundle for Oracle specific NoSQL support
 +
|-
 +
| org.eclipse.persistence.osgi
 +
| <br>
 +
|-
 +
| org.eclipse.persistence.sdo
 +
| EclipseLink SDO OSGI bundle
 
|}
 
|}
  
=== Runtime Dependencies (from Orbit) ===
+
=== Runtime Dependencies (from Orbit) ===
  
{|{{BMTableStyle}}
+
{|
|-{{BMTHStyle}}
+
|-
! Group Id
+
! Group Id  
! Artifact Id
+
! Artifact Id  
 
! Description
 
! Description
 
|-
 
|-
| commonj.sdo || commonj.sdo || OSGI-enabled SDO API bundle
+
| commonj.sdo  
 +
| commonj.sdo  
 +
| OSGI-enabled SDO API bundle
 
|-
 
|-
| javax.activation || javax.activation || OSGI-enabled javax.activation API bundle  
+
| javax.activation  
 +
| javax.activation  
 +
| OSGI-enabled javax.activation API bundle
 
|-
 
|-
| javax.mail || javax.mail || OSGI-enabled javax.mail bundle
+
| javax.mail  
 +
| javax.mail  
 +
| OSGI-enabled javax.mail bundle
 
|-
 
|-
| javax.servlet || javax.servlet || OSGI-enabled javax.servlet bundle
+
| javax.servlet  
 +
| javax.servlet  
 +
| OSGI-enabled javax.servlet bundle
 
|-
 
|-
| javax.xml.bind || javax.xml.bind || OSGI-enabled javax.xml.bind bundle
+
| javax.xml.bind  
 +
| javax.xml.bind  
 +
| OSGI-enabled javax.xml.bind bundle
 
|-
 
|-
| javax.xml.stream || javax.xml.stream || OSGI-enabled javax.xml.stream bundle
+
| javax.xml.stream  
 +
| javax.xml.stream  
 +
| OSGI-enabled javax.xml.stream bundle
 
|}
 
|}
  
  
 +
== What bundles should I get  ==
  
== What bundles should I get ==
+
The following lists what you should get based on your needs
  
The following lists what you should get based on your needs
+
==== Full functionality - non OSGI  ====
  
==== Full functionality - non OSGI ====
+
This is the recommended way of getting EclipseLink unless you are using OSGi, or you want to explicitly exclude certain parts of EclipseLink
  
This is the recommended way of getting EclipseLink unless you are using OSGi, or you want to explicitly exclude certain parts of EclipseLink
+
*eclipselink
 +
*javax.persistence (optional - only needed if you are using JPA outside of a Java EE container)
  
* eclipselink
+
==== JPA ====
* javax.persistence (optional - only needed if you are using JPA outside of a Java EE container)
+
  
==== JPA Only ====
+
*JPA  
 +
*Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
 +
*Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
 +
*Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)
 +
*javax.persistence
 +
*Oracle (optional - only needed to access Oracle DB specific functionality)
  
* JPA
+
==== MOXy ====
* Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
* Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
* Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
* javax.persistence
+
* Oracle (optional - only needed to access Oracle DB specific functionality)
+
  
==== MOXy Only ====
+
*MOXy  
 +
*Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
 +
*Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
 +
*Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)
  
* MOXy
+
===== SDO =====
* Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
* Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
* Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
  
==== SDO Only ====
+
*SDO  
 +
*MOXy
 +
*Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
 +
*Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
 +
*Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)
  
* SDO
+
== Versioning  ==
* MOXy
+
* Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
* Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
* Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
  
==== Core Only ====
+
=== Available Released Versions ===
  
* Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
*2.4.0  
* Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
*2.3.3
* Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)
+
*2.3.2
* Oracle (optional - only needed to access Oracle DB specific functionality)
+
*2.3.1
 +
*2.3.0  
 +
*2.2.1
 +
*2.2.0  
 +
*2.1.3
 +
*2.1.2
 +
*2.1.1
 +
*2.1.0  
 +
*2.0.2
 +
*2.0.1
 +
*2.0.0
 +
**JPA 2.0 Implementation release
 +
*1.2.0
 +
*1.1.4
 +
**final 1.1.x patchset
 +
*1.1.3
 +
*1.1.2
 +
**Eclipse Galileo Release
 +
*1.1.1
 +
*1.1.0
 +
*1.0.2
 +
*1.0.1
 +
*1.0
  
== Versioning ==
+
NOTE: javax.persistence (JPA 2.0) has been released as version 2.0.0, 2.0.1, 2.0.2, and 2.0.3
  
===Available Released Versions===
+
=== Releases Under development ===
  
* 2.4.0
+
*2.5.0  
* 2.3.3
+
*2.4.1  
* 2.3.2
+
*2.3.4
* 2.3.1
+
* 2.3.0
+
* 2.2.1
+
* 2.2.0
+
* 2.1.3
+
* 2.1.2
+
* 2.1.1
+
* 2.1.0
+
* 2.0.2
+
* 2.0.1
+
* 2.0.0
+
** JPA 2.0 Implementation release
+
* 1.2.0
+
* 1.1.4
+
** final 1.1.x patchset
+
* 1.1.3
+
* 1.1.2
+
** Eclipse Galileo Release
+
* 1.1.1
+
* 1.1.0
+
* 1.0.2
+
* 1.0.1
+
* 1.0
+
  
NOTE: javax.persistence (JPA 2.0) has been released as version 2.0.0, 2.0.1, 2.0.2, and 2.0.3
+
''Under development releases have the following additional naming conventions''
  
===Releases Under development===
+
*&lt;releaseNumber&gt;-SNAPSHOT (The most recent nightly build e.g. 2.1.0-SNAPSHOT)
 +
*&lt;releaseNumber&gt;-Mx (For milestones, replace x with the milestone number e.g. 2.0.0-M1)
 +
*&lt;releaseNumber&gt;-RCx (For release candidates, replace x with the release candidate number e.g. 2.0.0-RC1)
  
* 2.5.0
+
== Sample pom.xml entries ==
* 2.4.1
+
<pre>&lt;dependencies&gt;
* 2.3.4
+
   &lt;dependency&gt;
 
+
     &lt;groupId&gt;org.eclipse.persistence&lt;/groupId&gt;
''Under development releases have the following additional naming conventions''
+
     &lt;artifactId&gt;eclipselink&lt;/artifactId&gt;
 
+
     &lt;version&gt;2.0.0&lt;/version&gt;
* <releaseNumber>-SNAPSHOT (The most recent nightly build e.g. 2.1.0-SNAPSHOT)
+
     &lt;scope&gt;compile&lt;/scope&gt;
* <releaseNumber>-Mx (For milestones, replace x with the milestone number e.g. 2.0.0-M1)
+
* <releaseNumber>-RCx (For release candidates, replace x with the release candidate number e.g. 2.0.0-RC1)
+
 
+
== Sample pom.xml entries ==
+
 
+
<pre>
+
 
+
<dependencies>
+
   <dependency>
+
     <groupId>org.eclipse.persistence</groupId>
+
     <artifactId>eclipselink</artifactId>
+
     <version>2.0.0</version>
+
     <scope>compile</scope>
+
 
       ...
 
       ...
   </dependency>
+
   &lt;/dependency&gt;
</dependencies>
+
&lt;/dependencies&gt;
 
       ...
 
       ...
<repositories>
+
&lt;repositories&gt;
   <repository>
+
   &lt;repository&gt;
     <id>EclipseLink Repo</id>
+
     &lt;id&gt;EclipseLink Repo&lt;/id&gt;
     <!-- note that ampersands in this URL are escaped because this is in an xml file -
+
     &lt;!-- note that ampersands in this URL are escaped because this is in an xml file -
 
             un-escape them to use in browser  
 
             un-escape them to use in browser  
     -->
+
     --&gt;
     <url>http://www.eclipse.org/downloads/download.php?r=1&amp;amp;nf=1&amp;amp;file=/rt/eclipselink/maven.repo</url>
+
     &lt;url&gt;http://www.eclipse.org/downloads/download.php?r=1&amp;amp;nf=1&amp;amp;file=/rt/eclipselink/maven.repo&lt;/url&gt;
     <!-- use this for javax.persistence
+
     &lt;!-- use this for javax.persistence
     <snapshots>
+
     &lt;snapshots&gt;
         <enabled>true</enabled>
+
         &lt;enabled&gt;true&lt;/enabled&gt;
     </snapshots> -->
+
     &lt;/snapshots&gt; --&gt;
   </repository>    
+
   &lt;/repository&gt;    
 
       ...
 
       ...
</repositories>
+
&lt;/repositories&gt;
 
+
</pre>
+
  
 +
</pre>
 
[[Category:EclipseLink|Maven]]
 
[[Category:EclipseLink|Maven]]

Revision as of 12:38, 22 August 2012

The EclipseLink project currently produces a maven repository for its releases

http://download.eclipse.org/rt/eclipselink/maven.repo

Example POM

To help users diagnose Maven issues, we have created a basic POM that simply establishes EclipseLink dependencies (currenly using the 2.4.0 release). Executing it will verify your connection to the repository. Alternate Repository URLs are discussed. The POM can be found [here].

If you have any questions about using it, or experience problems, please let us know on our users mailing list or forum.


Identifiers

Group Id: org.eclipse.persistence

Artifact Id Description
javax.persistence EclipseLink version of the javax.persistence classes (OSGi enabled)
org.eclipse.persistence.equinox EclipseLink JPA - Equinox OSGi Fragment
org.eclipse.persistence.jpa.modelgen.processor EclipseLink JPA Modelgen Processor (non-OSGi) (Meta-data only)
org.eclipse.persistence.tools.oracleddl Oracle DB model - OSGi bundle
org.eclipse.persistence.weaving EclipseLink JPA - "Weaving for Equinox" OSGi Fragment

eclipselink The non-OSGI EclipseLink jar (includes the functionality below)
org.eclipse.persistence.antlr EclipseLink ANTLR OSGI bundle
org.eclipse.persistence.asm EclipseLink ASM OSGI bundle
org.eclipse.persistence.core EclipseLink Core OSGI bundle
org.eclipse.persistence.dbws EclipseLink DBWS OSGI bundle
org.eclipse.persistence.jpa EclipseLink JPA OSGI bundle
org.eclipse.persistence.jpa.modelgen EclipseLink Modelgen pre-processor (non-OSGI)
org.eclipse.persistence.moxy EclipseLink MOXY OSGI bundle
org.eclipse.persistence.nosql OSGI fragment of Core bundle for NoSQL support (including MongoDB)
org.eclipse.persistence.oracle OSGI fragment of Core bundle with Oracle-DB specific EclipseLink extensions
org.eclipse.persistence.oracle.nosql OSGI fragment of Core bundle for Oracle specific NoSQL support
org.eclipse.persistence.osgi
org.eclipse.persistence.sdo EclipseLink SDO OSGI bundle

Runtime Dependencies (from Orbit)

Group Id Artifact Id Description
commonj.sdo commonj.sdo OSGI-enabled SDO API bundle
javax.activation javax.activation OSGI-enabled javax.activation API bundle
javax.mail javax.mail OSGI-enabled javax.mail bundle
javax.servlet javax.servlet OSGI-enabled javax.servlet bundle
javax.xml.bind javax.xml.bind OSGI-enabled javax.xml.bind bundle
javax.xml.stream javax.xml.stream OSGI-enabled javax.xml.stream bundle


What bundles should I get

The following lists what you should get based on your needs

Full functionality - non OSGI

This is the recommended way of getting EclipseLink unless you are using OSGi, or you want to explicitly exclude certain parts of EclipseLink

  • eclipselink
  • javax.persistence (optional - only needed if you are using JPA outside of a Java EE container)

JPA

  • JPA
  • Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
  • Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
  • Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)
  • javax.persistence
  • Oracle (optional - only needed to access Oracle DB specific functionality)

MOXy

  • MOXy
  • Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
  • Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
  • Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)
SDO
  • SDO
  • MOXy
  • Core (starting in 2.0.0 should be retrieved by maven dependency mechanism)
  • Antlr (starting in 2.0.0 should be retrieved by maven dependency mechanism)
  • Asm (starting in 2.0.0 should be retrieved by maven dependency mechanism)

Versioning

Available Released Versions

  • 2.4.0
  • 2.3.3
  • 2.3.2
  • 2.3.1
  • 2.3.0
  • 2.2.1
  • 2.2.0
  • 2.1.3
  • 2.1.2
  • 2.1.1
  • 2.1.0
  • 2.0.2
  • 2.0.1
  • 2.0.0
    • JPA 2.0 Implementation release
  • 1.2.0
  • 1.1.4
    • final 1.1.x patchset
  • 1.1.3
  • 1.1.2
    • Eclipse Galileo Release
  • 1.1.1
  • 1.1.0
  • 1.0.2
  • 1.0.1
  • 1.0

NOTE: javax.persistence (JPA 2.0) has been released as version 2.0.0, 2.0.1, 2.0.2, and 2.0.3

Releases Under development

  • 2.5.0
  • 2.4.1
  • 2.3.4

Under development releases have the following additional naming conventions

  • <releaseNumber>-SNAPSHOT (The most recent nightly build e.g. 2.1.0-SNAPSHOT)
  • <releaseNumber>-Mx (For milestones, replace x with the milestone number e.g. 2.0.0-M1)
  • <releaseNumber>-RCx (For release candidates, replace x with the release candidate number e.g. 2.0.0-RC1)

Sample pom.xml entries

<dependencies>
  <dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>2.0.0</version>
    <scope>compile</scope>
       ...
  </dependency>
</dependencies>
      ...
<repositories>
  <repository>
     <id>EclipseLink Repo</id>
     <!-- note that ampersands in this URL are escaped because this is in an xml file -
            un-escape them to use in browser 
     -->
     <url>http://www.eclipse.org/downloads/download.php?r=1&amp;nf=1&amp;file=/rt/eclipselink/maven.repo</url>
     <!-- use this for javax.persistence
     <snapshots>
        <enabled>true</enabled>
     </snapshots> -->
  </repository>    
      ...
</repositories>