Filtering resource don't work as expected
-----------------------------------------
Key: MWAR-200
URL: http://jira.codehaus.org/browse/MWAR-200
Project: Maven 2.x WAR Plugin
Issue Type: Bug
Affects Versions: 2.1-beta-1, 2.1-alpha-1
Environment: windows and unix
Reporter: hugo lassiege
Attachments: toto.txt
Hi,
I try to use maven war plugin and cargo however I have a problem with
maven-war-plugin and the filtering.
I tried with 2.1-beta-1 and alpha1
My configuration for the maven-war-plugin is the following :
{code:xml}
<!-- pour tout les projets d'intégration, il faut
ajouter un fichier context.xml qui sera filtré -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-beta-1</version>
<configuration>
<webResources>
<resource>
<directory>${basedir}/src/main/webapp/META-INF</directory>
<filtering>true</filtering>
<includes>
<include>context.xml</include>
</includes>
<targetPath>META-INF/</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
{code}
My goal is to filter the context.xml to modify the name of the datasource
My context.xml unfiltered is :
{code:xml}
<!-- Context configuration file for the Webintake services -->
<Context path="/myWebapp" debug="0" privileged="true" reloadable="false">
<Resource auth="Container" name="jdbc/DATABASEHTTP"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource"
driverClassName="${connection.driver_class}"
url="${connection.url}" username="${connection.username}"
password="${connection.password}" maxActive="50" maxIdle="2"
maxWait="10000" />
</Context>
{code}
I use mvn clean install to launch the build
In DEBUG mode I have :
{code}
[DEBUG] Configuring mojo
'org.apache.maven.plugins:maven-war-plugin:2.1-alpha-1:war' -->
[DEBUG] (f) addDefaultSpecificationEntries = true
[DEBUG] (f) addDefaultImplementationEntries = true
[DEBUG] (s) manifest = org.apache.maven.archiver.manifestconfigurat...@1d50fd2
[DEBUG] (f) archive =
org.apache.maven.archiver.mavenarchiveconfigurat...@101ac1c
[DEBUG] (s) archiveClasses = true
[DEBUG] (s) cacheFile =
E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration\target\war\work\webapp-cache.xml
[DEBUG] (s) classesDirectory =
E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration\target\classes
[DEBUG] (s) filters = []
[DEBUG] (f) outputDirectory =
E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration\target
[DEBUG] (f) primaryArtifact = true
[DEBUG] (s) project = MavenProject:
fr.sgf.wit:webintake-security-integration:3.5.0-alpha3-SNAPSHOT @
E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration\pom.xml
[DEBUG] (s) useCache = true
[DEBUG] (f) warName = webintake-security-integration-3.5.0-alpha3-SNAPSHOT
[DEBUG] (s) warSourceDirectory =
E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration\src\main\webapp
[DEBUG] (s) directory =
E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration/src/main/webapp/META-INF
[DEBUG] (s) filtering = true
[DEBUG] (s) includes = [context.xml]
[DEBUG] (s) targetPath = META-INF/
[DEBUG] (s) webResources = [Resource {targetPath: META-INF/, filtering: true,
FileSet {directory:
E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration/src/main/webapp/META-INF,
PatternSet [includes: {context.xml}, excludes: {}]}}]
[DEBUG] (s) webappDirectory =
E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration\target\webintake-security-integration-3.5.0-alpha3-SNAPSHOT
[DEBUG] (s) workDirectory =
E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration\target\war\work
[DEBUG] -- end configuration --
[INFO] [war:war]
[INFO] Packaging webapp
[INFO] Assembling webapp[webintake-security-integration] in
[E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration\target\webintake-security-integration-3.5.0-alpha3-SNAPSHOT]
[INFO] Processing war project
[INFO] Copy webapp
webResources[E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration/src/main/webapp/META-INF]
to[E:\Developpement\checkout\webintakeTrunk\webintake-security\webintake-security-integration\target\webintake-security-integration-3.5.0-alpha3-SNAPSHOT]
[DEBUG] + META-INF/\context.xml has been copied.
[DEBUG] + META-INF/context.xml has been copied.
{code}
So the filtering is active and the context.xml is copied as expected but not
filtered !
The file is not modified, I still have the variable not filtered.
If I make mvn install (removing the clean) it works the second time, I guess
the file is read from the right place the second time ?
I attached the mvn command with option -X
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira