JPA 2.0 API maven артефакт - PullRequest
       17

JPA 2.0 API maven артефакт

26 голосов
/ 08 октября 2010

Я использую JPA 2.0, и мой поставщик персистентности - Hibernate;Тем не менее, я хотел бы просто включить стандартный API от javax, но в центральном нет никакого артефакта 2.0.В настоящее время я использую артефакт Hibernate JPA 2.0, но я хотел бы использовать что-то более стандартное.

Возможно ли это?

Спасибо,

Вальтер

Ответы [ 4 ]

17 голосов
/ 09 октября 2010

В настоящее время я использую артефакт Hibernate JPA 2.0, но я бы хотел использовать что-то более стандартное

По-прежнему нет артефакта javax.persistence:persistence-api:jar:2.0 от Sun / Oracle.Либо используйте полный артефакт javax:javaee-api:jar:6.0, если вы хотите что-то из Sun / Oracle ... или просто придерживайтесь интерфейсов, предоставляемых Hibernate, EclipseLink, OpenJPA и т. Д.

9 голосов
/ 22 июня 2012

Как объясняет Иван, в Maven нет официальных банок Sunacle. Однако довольно часто разработчик данного API публикует артефакт для этого API (сам API, а не их реализацию).

В случае JPA 2.0 Hibernate публикует org.hibernate.javax.persistence: hibernate-jpa-2.0-api , который содержит только классы javax.persistence и не содержит специфических для Hibernate вещей.

Поэтому мой build.gradle говорит:

dependencies {
    compile group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.0-api', version: '1.0.1.Final'
    runtime group: 'org.hibernate', name: 'hibernate-entitymanager', version: '4.1.4.Final'
}

Что помещает выпуск API Hibernate в путь к классам компиляции, а их реализацию - в путь к классам во время выполнения.

5 голосов
/ 21 октября 2017

В настоящее время (4 квартал 2017 г.) в maven central доступен javax.persistence-api.

<dependency>
  <groupId>javax.persistence</groupId>
  <artifactId>javax.persistence-api</artifactId>
  <version>2.2</version>
</dependency>

Код поддерживается в в этом репозитории github .

2 голосов
/ 28 апреля 2012

Прямой ответ на ваши вопросы: нет, это невозможно.Более длинная версия приведена здесь: Apache> Maven> Руководство по работе с Sun JAR .Краткое резюме длинного ответа:

Существуют (как минимум) две проблемы с публикацией артефактов Sun / Oracle в центральном хранилище:

  1. Ограничительная лицензия
  2. Именованиеконвенция
...