Как установить Eclipselink с JPA?

В документации Eclipselink говорится, что мне нужны следующие записи в моем pom.xml для получения ее со Знатоком:


  
    org.eclipse.persistence
    eclipselink
    2.0.0
    compile
       ...
  

      ...

  
     EclipseLink Repo
     http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/rt/eclipselink/maven.repo
      
      ...
 

Но когда я пытаюсь использовать @Entity NetBeans аннотации говорит мне, что класс не может быть найден. И действительно: нет никакого класса Объекта в javax.persistence пакете от Eclipselink.

Как я должен установить Eclipselink со Знатоком?

6
задан Pascal Thivent 9 June 2010 в 10:16
поделиться

3 ответа

Артефакт eclipselink не предоставляет JPA 2.0 API , вам необходимо добавить 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>
  ...

Для простоты я рекомендую использовать jar-файл EclipseLink, отличный от OSGI.

13
ответ дан 8 December 2019 в 12:18
поделиться

Вы можете попробовать добавить

<dependency>
   <groupId>org.eclipse.persistence</groupId>
   <artifactId>javax.persistence</artifactId>
   <version>2.0.0</version>
   <scope>compile</scope>
</dependency>
0
ответ дан 8 December 2019 в 12:18
поделиться

Когда я заглядываю в свой локальный репозиторий maven, org.eclipse.persistence: eclipselink действительно содержит api сохраняемости, по крайней мере, для версии 2.0.0-SNAPSHOT eclipselink.

Но есть еще один набор зависимостей в репозитории 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>

Обратите внимание, что для области действия задано значение «предоставлено», поскольку я развертываю ее в glassfish, который уже содержит eclipselink.

2
ответ дан 8 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: