2016-04-13 21 views
0

Wir ziehen von Maven nach Gradle und ich bin auf das Problem unten fest. In unserem aktuellen pom.xml haben wir diese:Konvertieren von Maven-Ressourcen in Graplore-Ressourcen

<resources> 
    <resource> 
     <targetPath>deploy/config/directory1</targetPath> 
     <directory>config/directory1</directory> 
    </resource> 
    <resource> 
     <targetPath>deploy/config/directory2</targetPath> 
     <directory>config/directory2</directory> 
    </resource> 
    <resource> 
     <targetPath>deploy/scripts</targetPath> 
     <directory>scripts</directory> 
    </resource> 

Wir haben ein Gerät zu testen, die

getClass().getResource("/deploy/config/directory1/somefile.txt") 

Ich will nicht die pom.xml ändern tut wie die Struktur für die Bereitstellung Gründen benötigt wird, bis Wir wandern vollständig nach Gradle. Ich versuche, das Äquivalent in gradle mit nicht viel Erfolg zu tun:

sourceSets { 
    main { 
     java { 
      srcDirs 'src' 
     } 
     resources { 
      srcDirs = [ 
       "config/directory1", 
       "config/directory2", 
       "scripts", 
] 
// output.resourcesDir = "$buildDir/deploy" 
} 
} 

A haben ein paar Probleme mit diesem: 1. Die Dateien im config/directory1 und config/directory2 in das Stammverzeichnis von kopiert werden der Ressourcenordner. Ich würde gerne die Struktur beibehalten, so dass es ein einziges Konfigurationsverzeichnis unter dem Ressourcenverzeichnis geben würde und dann hätte config dir Verzeichnis1 und Verzeichnis2. 2. Ich kann die output.resourcesDir gesetzt, wie jedoch gezeigt, dass bedeutet, muss ich

getClass().getResource("somefile.txt") 

meinem Java-Code ändern, das ist, was ich vermeiden müssen.

Thankyou

Antwort