2016-09-21 68 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範圍聲明這種依賴關係。