2012-04-12 5 views
3

Ich versuche mvn exec ausführen: java .....Maven-Klassenpfad zwischen Abhängigkeiten jars und src/main/resources?

dann verwendet er die Classpath Laufzeit durch meine pom definiert, die ich standardmäßig auf die Kompilierung Classpath denken. Das Problem ist, dass ich festgestellt habe, dass meine src/main/resources/log4j.xml nicht wiedergegeben wird, da ich DEBUG die Datei anmelde, aber ich sehe nur WARN in der Ausgabe. Ich vermute, dass es tatsächlich die log4j.xml aus einigen der Abhängigkeitsgläsern ist, die verwendet wird. also muss ich die src/main/resources/log4j.xml an den Anfang meines Compile/Runtime-Klassenpfads erhöhen. Aber wie definiere ich die relative Reihenfolge von src/main/resources vs Abhängigkeits-jars im Klassenpfad?

Dank Yang

+0

+1 Gute Frage. 'src/main/resources' ist im Abschnitt' 'angegeben, der nach dem' '- Abschnitt im POM kommt. –

+0

Danke Ray, ich werde das versuchen :) –

+0

Versuchen Sie, Maven mit '-X' Debug-Option auszuführen und überprüfen Sie den Klassenpfad für das Exec-Plugin. –

Antwort

1

Eine Abhilfe ist, explizit die log4j.xml angeben, die Sie log4j wollen ein Befehlszeilenargument verwenden, verwenden.

-Dlog4j.configuration=file:/log4j.xml 
+0

Danke, ich habe es versucht, aber irgendwie funktioniert es nicht. Es funktioniert nur, wenn ich stattdessen eine log4j.properties angeben –

Verwandte Themen