2016-09-21 43 views
0

我正在用gradle构建Java EE应用程序,并试图对实际实现保持不知情。我已经加入像这样的JavaEE的依赖..Java EE - 如何在服务器上指定实现

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',因为它不是具体的实现?我觉得我错过了这一点。

+0

执行什么? –

回答

0

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

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

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