2017-01-02 143 views
1

比方說,我在搖籃這種相關性:如何有些依賴罐的拷貝在搖籃

providedCompile(
     'javax:javaee-api:7.0', 
     'org.slf4j:slf4j-api:1.7.21', 
     'com.fasterxml.jackson.core:jackson-databind:2.5.4', 
     'com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.5.4', 
     'net.sf.ehcache:ehcache:2.10.3', 
     'com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.5.4', 
) 

(我用providedCompile從戰爭插件作爲AI)

我對於編譯時間,但一切都建成後,我需要那些依賴於所使用的一些罐子(不是全部)複製到一對夫婦目錄它們配置爲在我的自由服務器庫,在那之後我創建了一個碼頭工人這一點。例如,我需要排除ehcache jar,因爲它們是應用程序服務器中的持久性引擎的一部分。

我曾嘗試:

task copyRuntimeLibs(type: Copy) { 
    from (configurations. providedCompile - 'net.sf.ehcache:ehcache:2.10.3') 
    into "build/docker/dependenciesLibrary" 
} 

,但它不會工作。 ehcache中的Jars仍然被複制。

如何創建在搖籃副本任務獲得罐子從,例如,那些傑克遜依賴(但不是抄襲的JavaEE-API的)

感謝

回答

2

您可以嘗試

task copyRuntimeLibs(type: Copy) { 
    from (configurations.providedCompile){ 
     exclude 'ehcache-2.10.3.jar' 
    } 
    into "build/docker/dependenciesLibrary" 
} 

task copyRuntimeLibs(type: Copy) { 
    from (configurations.providedCompile){ 
     exclude 'ehcache*.jar' 
    } 
    into "build/docker/dependenciesLibrary" 
} 

,都將做工精細,

但實際上我不知道是否有使用方式「net.sf.ehcache:的Ehcache:2.10.3」直接而不是使用「的Ehcache-2.10.3.jar」排除 '的Ehcache的* .jar'