Maven Problem bei Ersetzung von POM-Properties

  • Themenstarter Themenstarter M. kleiser
  • Beginndatum Beginndatum
M

M. kleiser

Gast
Hallo, ich habe ein seltsames Verhalten bei der Ersetzung von POM-Properities.
Ich habe im Verzeicnis /src/main/resources ein File log4j.properties
habe ich (um das Probelm einzugrnzen) mal das eingetragen:
...
log4j.logger.httpclient.wire.content=${log.fooobar}
...
log4j.appender.mail.Subject=${log.foobar}
...

Im pom.xml steht (wie üblich ) das drin:
[XML]
...
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resource>
...
</resources>
...
<properties>
<log.foobar>Test</log.foobar>
</properties>
...
[/XML]

Nach mvn clean target
sehe ich, dass im log4.properties im target-Verzeichnis
das steht:
...
log4j.logger.httpclient.wire.content=Test
...
log4j.appender.mail.Subject=${log.foobar}
...
d.h. einmal wurde es übersetzt, einmal nicht.

Kann mir bitte jemand einen Tipp geben warum das so ist und was man dagegen tun kann?
 
Sicher dass die Propertynamen richtig geschrieben hast?
Sehr cshräg dass es einmal geht und dann wieder nicht, Tippe auf einen Tippfehler 😉

Nebenbei, kannst dir mit [c]mvn help:effective-pom[/c] u.a. die aufgelösten Props etc. anzeigen lassen.
 
Hallo,

Wie schon angemerkt wurde solltest Du mal tippfehler prüfen...

Code:
log4j.logger.httpclient.wire.content=${log.fooobar}
...
log4j.appender.mail.Subject=${log.foobar}
einmal mit "ooo" und einmal "oo" logisch dass hier Maven einmal ersetzt und beim anderen male nicht...

Gruß
Karl Heinz Marbaise
 
Ich habe noch etwas weiter rumprobiert.
Danach stellte sich heraus, dass die nicht ersetzten Zuweisungen an der lezten und vorletzen Zeile von log4.properties stand.
Nachdem ich eine davor stehene Zuweisung, in der nichts ersetzt werden muss, ganz ans Ende verschoben habe funktioniert die Ersetzung.
Eine zusätzliche Leerzeile, eine Kommenatrzeile oder eine Dummy-Zuweisung am Ende hatte nicht geholfen.
Das sieht mir nach einem Bug aus. Wo kann ich den am besten melden?
 
Ich habe das Problem nochmal eingedampft.
Ein File "test" in src7main/resources mit folgedem Inhalt:
test1=${bar}
test=@
test3=${bar}

in pom.xml gibt es im "properties"_Abschnitt
<bar>BAR</bar>

generiertes File "test":
test1=BAR
test=@
test3=${bar}

Nach der Zuweisung mit dem "@" scheint also nichts mehr ersetzt zu werden.
Hat das "@" eine Sonderbedeutung? Und wenn ja, wie kann man die aufheben?
 

Zurück
Oben