Java EE - 如何在服务器上指定实现

时间:2016-09-21 21:51:03

标签: java jpa java-ee jax-rs

我正在使用gradle构建Java EE应用程序并尝试对实际实现保持不可知。我已经添加了JavaEE依赖项。

group 'com.test.application'
version '1.0'

apply plugin: 'war'
apply plugin: 'idea'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    jcenter()
}

dependencies {
    compileOnly 'javax:javaee-api:7.0'
    compile 'org.slf4j:slf4j-simple:1.7.21'
    testCompile 'junit:junit:4.11'
}

我如何指定实际的实现,以便将其部署到服务器? 我主要关心的是JAX-RS和JPA实现。

编辑:我想我想要了解的是为什么有人会使用' javax:javaee-api:7.0'既然它不是具体的实施?我觉得我错过了这一点。

1 个答案:

答案 0 :(得分:0)

Java EE容器应该为JPA和JAX-RS提供实现。例如:

  • WildFly提供Hibernate和RESTEasy。
  • GlassFish提供EclipseLink和Jersey。

在依赖项管理器配置文件中,您不需要声明具体的实现依赖项。但是,如果您需要使用具体实现提供的任何类或接口,则应使用provided范围声明此类依赖项。