2010-06-09 21 views
6

Eclipselink documentation का कहना है कि मैं अपने pom.xml में निम्नलिखित प्रविष्टियों की जरूरत Maven के साथ इसे पाने के लिए:जेपीए के साथ ईक्लीपसेलिंक कैसे सेट करें?

<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> 
    <url>http://www.eclipse.org/downloads/download.php?r=1&amp;nf=1&amp;file=/rt/eclipselink/maven.repo</url> 
    </repository>  
     ... 
</repositories> 

लेकिन जब मैं @Entity एनोटेशन NetBeans उपयोग करने का प्रयास मुझसे कहता है, उस वर्ग नहीं पाया जा सकता है। और वास्तव में: Eclipselink से javax.persistence पैकेज में कोई इकाई वर्ग नहीं है।

मैवेन के साथ ईक्लीपसेलिंक को कैसे स्थापित करना है?

उत्तर

13

eclipselink विरूपण साक्ष्य जेपीए 2.0 एपीआई प्रदान नहीं करता है, तो आप javax.persistence जोड़ने की जरूरत:

<repositories> 
    <repository> 
    <id>eclipselink</id> 
    <url>http://www.eclipse.org/downloads/download.php?r=1&amp;nf=1&amp;file=/rt/eclipselink/maven.repo/</url> 
    </repository> 
</repositories> 
<dependencies> 
    <dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>eclipselink</artifactId> 
    <version>2.0.0</version> 
    <scope>provided</scope><!-- since I'm running inside a Java EE container --> 
    </dependency> 
    <dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>javax.persistence</artifactId> 
    <version>2.0.0</version> 
    <scope>provided</scope><!-- since I'm running inside a Java EE container --> 
    </dependency> 
    ... 

मैं सरलता के लिए गैर OSGi EclipseLink जार उपयोग करने के लिए सलाह देते हैं।

+0

मैंने पहले से ही निर्भरता javax.persistence जोड़ने की कोशिश की थी, लेकिन NetBeans में मुझे एक त्रुटि है कि मुझे कोई 'इकाई' वर्ग नहीं है। यदि मैं एक ही कक्षा को जावा में परिवर्तित करता हूं तो सबकुछ ठीक है। आपकी पोस्ट ने मुझे सही जगह पर ले जाया। – deamon

0

आप

<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>javax.persistence</artifactId> 
    <version>2.0.0</version> 
    <scope>compile</scope> 
</dependency> 
2

जोड़ने के लिए जब मैं अपने स्थानीय Maven भंडार, org.eclipse.persistence पर गौर कोशिश कर सकते हैं: eclipselink वास्तव में कम से कम eclipselink के संस्करण 2.0.0-SNAPSHOT के लिए, हठ एपीआई में क्या है ।

लेकिन eclipselink भंडार में निर्भरता का एक और सेट है जो थोड़ा अधिक मॉड्यूलरकृत है।

<!-- persistence api --> 
<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>javax.persistence</artifactId> 
    <version>2.0.0</version> 
    <scope>provided</scope> 
</dependency> 
<!-- jpa implementation --> 
<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>org.eclipse.persistence.jpa</artifactId> 
    <version>2.0.2</version> 
    <scope>provided</scope> 
</dependency> 

ध्यान दें कि गुंजाइश प्रदान की के बाद से मैं ग्लासफिश को जो पहले से ही eclipselink शामिल तैनात करने के लिए सेट कर दिया जाता: ये निर्भरता मैं एक वर्तमान प्रोजेक्ट में उपयोग कर रहा हूँ कर रहे हैं।

4

बस अपने pom.xml पर निम्नलिखित जोड़ें।

अब इन artifats Maven खजाने में हैं, इसलिए जोड़ने की आवश्यकता नहीं किसी भी <repository>

<!-- JPA --> 
<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>eclipselink</artifactId> 
    <version>2.5.1</version> 
</dependency> 
<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>javax.persistence</artifactId> 
    <version>2.0.0</version> 
</dependency> 



या आप एक जावा EE अनुप्रयोग सर्वर उपयोग org.eclipse.persistence.jpa:org.eclipse.persistence उपयोग कर रहे हैं के रूप में यह dependecies शामिल नहीं है कि पहले से ही सर्वर पर हैं।

<!-- JPA for Java EE application servers --> 
<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>org.eclipse.persistence.jpa</artifactId> 
    <version>2.5.1</version> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>javax.persistence</artifactId> 
    <version>2.0.0</version> 
    <scope>provided</scope> 
</dependency> 
+0

क्या आपके पास कोई संदर्भ है? –

संबंधित मुद्दे