2017-03-16 1 views
0

Mein Haupt Gradle Projekt A auf einem anderen Gradle Projekt B. Sowohl A als auch B inGradle Ressourcendatei Konfliktlösung (log4j2.xml)

src/main/resources/log4j2.xml 

haben eine log4j2.xml Datei hängt Wenn ich ./gradlew build ausführen, wird gradle die Packung log4j2.xml Datei in Projekt B in der endgültigen JAR-Datei. Gibt es eine Möglichkeit anzugeben, welche log4j2.xml Datei ich mit Gradle einbinden möchte?

Ich bin mit Glas-Plugin

jar { 
    zip64=true 

    from { 
     configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } 
    } 
} 
+0

Wie sieht Ihre Projektstruktur aus? Ist es ein Ein-Wurzel-Projekt mit zwei Teilprojekten? Oder verwenden Sie das andere Projekt als Bibliothek? Verwenden Sie ein Shadow-Jar-Plugin? – sm4

+0

Ja, es ist eine Wurzel mit mehreren Unterprojekten. Ich benutze kein Schattenglas, nur Glas. –

Antwort

0

Sie können den Dateinamen des Projekts A log4j2.xml ändern log4j2_final.xml und dann diese Konfigurationsdatei explizit angeben.

Weitere Informationen finden Sie unter Log4j2 FAQ.

Wie lege ich den Speicherort der Konfigurationsdatei fest?

Standardmäßig sucht Log4j im Klassenpfad nach einer Konfigurationsdatei namens log4j2.xml (nicht log4j.xml).

Sie können auch den vollständigen Pfad der Konfigurationsdatei mit diesem System Eigenschaft angeben: -Dlog4j.configurationFile = path/to/log4j2.xml

Diese Eigenschaft kann auch in einem Classpath Ressourcendatei mit dem Namen log4j2 enthalten sein. component.properties.

Verwandte Themen