2017-01-02 3 views
1

Lassen Sie uns sagen, dass ich diese Abhängigkeit in Gradle haben:Wie einige der Abhängigkeiten Gläser in Gradle kopieren

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', 
) 

(I providedCompile von Krieg Plugin als ai verwenden)

Ich habe das für Kompilierung aber Nachdem alles erstellt ist, muss ich die in einigen (nicht allen) dieser Abhängigkeiten verwendeten Verzeichnisse in ein paar Verzeichnisse kopieren, um sie als Bibliotheken in meinem Liberty Server zu konfigurieren, danach erstelle ich ein Docker mit diesem. Zum Beispiel muss ich Ehcache-Jars ausschließen, da sie Teil der Persistenz-Engine auf dem App-Server sind.

Ich habe versucht:

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

aber es wird nicht funktionieren. Gläser von ehcache werden immer noch kopiert.

Wie kann ich eine Kopie Aufgabe in Gradle erstellen, die Gläser, die zum Beispiel bekommt, diese jackson Abhängigkeiten (aber nicht das Kopieren von JavaEE-api sind)

dank

Antwort

2

können Sie versuchen,

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

und auch

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

und beide werden gut funktionieren,

Aber eigentlich weiß ich nicht, ob es einen Weg gibt zu verwenden ‚net.sf.ehcache: ehcache: 2.10.3‘ direkt anstelle von ‚ehcache-2.10.3.jar‘ oder exclude 'ehcache * .jar'

Verwandte Themen