On Tue, 5 Apr 2005, [ISO-8859-1] Ralph P�llath wrote:
Short answer: add filtering="true" to ant:copy.
Long answer:
You can define a preGoal to java:jar-resources and define the filter there ( <filter token="..." value="..."/> ).
Thanks Kenney. The short answer didn't help, but the long one did.
The key point seems to be that the copying is performed by java:jar-resources, so adding the filter to a goal that's executed later in the chain will obviously not work. I was mislead by the following:
war:webapp:
[echo] Assembling webapp myapp
...
[copy] Copying 1 file to /private/tmp/maven-filter/target/myapp/WEB-INF/classes
For the archives, here's my working maven.xml:
// file: maven.xml
<project xmlns:maven="jelly:maven" xmlns:ant="jelly:ant">
<preGoal name="java:jar-resources">
<ant:filter token="logfile" value="/opt/tomcat/logs/myapp.log"/>
</preGoal>
</project>Resources defined in project.xml get included in the artifact, so you don't need to copy it to the WEB-INF/classes directory.
I know. That was a desperate attempt to trigger an additional filtering copy, beacuse the built-in filter didn't work for me.
Cheers, -Ralph.
Hi,
I could use some help with filtering properties files.
My project consists of 3 files: project.xml, maven.xml and src/conf/log4j.properties (see below).
project.xml defines src/conf as a resource directory with filtering set
to true.
maven.xml defines a postGoal to war:webapp that copies the
log4j.properties in place using the ant:copy tag, wrapped in an
ant:filter tag.
src/conf/log4j.properties contains a token that should be expanded by
the filter tag.
Something seems to be missing, because running maven war triggers the postGoal and does copy the file, but the token isn't expanded. Can anyone help?
Thanks, -Ralph.
$ maven clean war __ __ | \/ |__ _Apache__ ___ | |\/| / _` \ V / -_) ' \ ~ intelligent projects ~ |_| |_\__,_|\_/\___|_||_| v. 1.0.2
...
war:webapp: [echo] Assembling webapp myapp ... [copy] Copying 1 file to /private/tmp/maven-filter/target/myapp/WEB-INF/classes [echo] *** executing postGoal of war:webapp [copy] Copying 1 file to /private/tmp/maven-filter/target/myapp/WEB-INF/classes
war:war: [echo] Building WAR myapp [jar] Building jar: /private/tmp/maven-filter/target/myapp.war BUILD SUCCESSFUL Total time: 5 seconds Finished at: Tue Apr 05 10:46:00 CEST 2005
// file: project.xml <?xml version="1.0"?> <project> <pomVersion>3</pomVersion> <id>myapp</id> <name>myapp</name> <build> <resources> <resource> <filtering>true</filtering> <directory>src/conf</directory> <includes> <include>*.properties</include> </includes> </resource> </resources> </build> </project>
// file: maven.xml
<project xmlns:maven="jelly:maven" xmlns:ant="jelly:ant">
<postGoal name="war:webapp">
<echo message="*** executing postGoal of war:webapp"/>
<ant:filter token="logfile"
value="/opt/tomcat/logs/myapp.log">
<ant:copy overwrite="true"
file="target/myapp/WEB-INF/classes/log4j.properties"
tofile="target/myapp/WEB-INF/classes/log4j.properties"/>
</ant:filter>
</postGoal>
</project>
// file: src/conf/log4j.properties log4j.rootCategory=WARN # value of next line should be expanded [EMAIL PROTECTED]@ log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.logfile.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - <%m>%n
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
