Как объясняет Иван, в 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 в путь к классам компиляции, а их реализацию - в путь к классам во время выполнения.