You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Dennis Lundberg (JIRA)" <ji...@codehaus.org> on 2012/09/26 00:05:36 UTC

[jira] (MWAR-224) Running web build from a parent modular pom fails when filtering resources

    [ https://jira.codehaus.org/browse/MWAR-224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=309724#comment-309724 ] 

Dennis Lundberg commented on MWAR-224:
--------------------------------------

The underlying problem is in maven-filtering in the method {{DefaultMavenFileFilter.loadProperties()}}.
                
> Running web build from a parent modular pom fails when filtering resources
> --------------------------------------------------------------------------
>
>                 Key: MWAR-224
>                 URL: https://jira.codehaus.org/browse/MWAR-224
>             Project: Maven 2.x WAR Plugin
>          Issue Type: Bug
>          Components: filtering
>    Affects Versions: 2.1-beta-1
>         Environment: Apache Maven 2.2.1 (r801777; 2009-08-06 20:16:01+0100)
> Java version: 1.6.0_20
> Java home: C:\development\java\jdk1.6.0_20\jre
> Default locale: en_GB, platform encoding: Cp1252
> OS name: "windows 7" version: "6.1" arch: "x86" Family: "windows"
>            Reporter: James Kavanagh
>
> Running mvn clean install from the parent directory fails with the following debug output:
> {noformat}
> [DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-war-plugin:2.1-beta-1:war' -->
> [DEBUG]   (s) archiveClasses = false
> [DEBUG]   (s) attachClasses = false
> [DEBUG]   (s) cacheFile = C:\development\eclipse-workspaces\default\gs-web\target\war\work\webapp-cache.xml
> [DEBUG]   (s) classesClassifier = classes
> [DEBUG]   (s) classesDirectory = C:\development\eclipse-workspaces\default\gs-web\target\classes
> [DEBUG]   (f) escapedBackslashesInFilePath = false
> [DEBUG]   (s) failOnMissingWebXml = true
> [DEBUG]   (f) filteringDeploymentDescriptors = false
> [DEBUG]   (s) filters = [src/main/filters/application.properties]
> [DEBUG]   (s) outputDirectory = C:\development\eclipse-workspaces\default\gs-web\target
> [DEBUG]   (s) primaryArtifact = true
> [DEBUG]   (s) project = MavenProject: com.rob.gs:gs-web:0.0.1-SNAPSHOT @ C:\development\eclipse-workspaces\default\gs-web\pom.xml
> [DEBUG]   (f) session = org.apache.maven.execution.MavenSession@7c3885
> [DEBUG]   (s) useCache = true
> [DEBUG]   (s) warName = gs-web-0.0.1-SNAPSHOT
> [DEBUG]   (s) warSourceDirectory = C:\development\eclipse-workspaces\default\gs-web\src\main\webapp
> [DEBUG]   (s) directory = src/main/filtered-resources
> [DEBUG]   (s) targetPath = WEB-INF
> [DEBUG]   (s) filtering = true
> [DEBUG]   (s) includes = [**/*.xml]
> [DEBUG]   (s) webResources = [Resource {targetPath: WEB-INF, filtering: true, FileSet {directory: src/main/filtered-resources, PatternSet [includes: {**/*.xml}, excludes: {}]}}]
> [DEBUG]   (s) webappDirectory = C:\development\eclipse-workspaces\default\gs-web\target\gs-web-0.0.1-SNAPSHOT
> [DEBUG]   (s) workDirectory = C:\development\eclipse-workspaces\default\gs-web\target\war\work
> [DEBUG] -- end configuration --
> [INFO] [war:war {execution: default-war}]
> [INFO] Packaging webapp
> [INFO] Assembling webapp[gs-web] in [C:\development\eclipse-workspaces\default\gs-web\target\gs-web-0.0.1-SNAPSHOT]
> [ERROR] fail to build filering wrappers Error loading property file 'src/main/filters/application.properties'
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Error loading property file 'src/main/filters/application.properties'
> src\main\filters\application.properties
> [INFO] ------------------------------------------------------------------------
> [DEBUG] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException: Error loading property file 'src/main/filters/application.properties'
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
> 	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
> 	at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> 	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> 	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> 	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.maven.plugin.MojoExecutionException: Error loading property file 'src/main/filters/application.properties'
> 	at org.apache.maven.plugin.war.AbstractWarMojo.buildWebapp(AbstractWarMojo.java:450)
> 	at org.apache.maven.plugin.war.AbstractWarMojo.buildExplodedWebapp(AbstractWarMojo.java:394)
> 	at org.apache.maven.plugin.war.WarMojo.performPackaging(WarMojo.java:195)
> 	at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:157)
> 	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
> 	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
> 	... 17 more
> Caused by: org.apache.maven.shared.filtering.MavenFilteringException: Error loading property file 'src/main/filters/application.properties'
> 	at org.apache.maven.shared.filtering.DefaultMavenFileFilter.loadProperties(DefaultMavenFileFilter.java:265)
> 	at org.apache.maven.shared.filtering.DefaultMavenFileFilter.getDefaultFilterWrappers(DefaultMavenFileFilter.java:143)
> 	at org.apache.maven.plugin.war.AbstractWarMojo.buildWebapp(AbstractWarMojo.java:442)
> 	... 22 more
> Caused by: java.io.FileNotFoundException: src\main\filters\application.properties
> 	at org.apache.maven.shared.filtering.PropertyUtils.loadPropertyFile(PropertyUtils.java:65)
> 	at org.apache.maven.shared.filtering.DefaultMavenFileFilter.loadProperties(DefaultMavenFileFilter.java:260)
> 	... 24 more
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 8 seconds
> [INFO] Finished at: Tue Apr 27 17:12:34 BST 2010
> [INFO] Final Memory: 37M/92M
> [INFO] ------------------------------------------------------------------------
> {noformat}
> Running the same command from the project directory itself works without issue:
> {noformat}
> [DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-war-plugin:2.1-beta-1:war' -->
> [DEBUG]   (s) archiveClasses = false
> [DEBUG]   (s) attachClasses = false
> [DEBUG]   (s) cacheFile = C:\development\eclipse-workspaces\default\gs-web\target\war\work\webapp-cache.xml
> [DEBUG]   (s) classesClassifier = classes
> [DEBUG]   (s) classesDirectory = C:\development\eclipse-workspaces\default\gs-web\target\classes
> [DEBUG]   (f) escapedBackslashesInFilePath = false
> [DEBUG]   (s) failOnMissingWebXml = true
> [DEBUG]   (f) filteringDeploymentDescriptors = false
> [DEBUG]   (s) filters = [src/main/filters/application.properties]
> [DEBUG]   (s) outputDirectory = C:\development\eclipse-workspaces\default\gs-web\target
> [DEBUG]   (s) primaryArtifact = true
> [DEBUG]   (s) project = MavenProject: com.rob.gs:gs-web:0.0.1-SNAPSHOT @ C:\development\eclipse-workspaces\default\gs-web\pom.xml
> [DEBUG]   (f) session = org.apache.maven.execution.MavenSession@1cf7491
> [DEBUG]   (s) useCache = true
> [DEBUG]   (s) warName = gs-web-0.0.1-SNAPSHOT
> [DEBUG]   (s) warSourceDirectory = C:\development\eclipse-workspaces\default\gs-web\src\main\webapp
> [DEBUG]   (s) directory = src/main/filtered-resources
> [DEBUG]   (s) targetPath = WEB-INF
> [DEBUG]   (s) filtering = true
> [DEBUG]   (s) includes = [**/*.xml]
> [DEBUG]   (s) webResources = [Resource {targetPath: WEB-INF, filtering: true, FileSet {directory: src/main/filtered-resources, PatternSet [includes: {**/*.xml}, excludes: {}]}}]
> [DEBUG]   (s) webappDirectory = C:\development\eclipse-workspaces\default\gs-web\target\gs-web-0.0.1-SNAPSHOT
> [DEBUG]   (s) workDirectory = C:\development\eclipse-workspaces\default\gs-web\target\war\work
> [DEBUG] -- end configuration --
> [INFO] [war:war {execution: default-war}]
> [INFO] Packaging webapp
> [INFO] Assembling webapp[gs-web] in [C:\development\eclipse-workspaces\default\gs-web\target\gs-web-0.0.1-SNAPSHOT]
> [DEBUG] properties used {java.vendor=Sun Microsystems Inc., env.SYSTEMROOT=C:\Windows, sun.java.launcher=SUN_STANDARD, env.TRACE_FORMAT_SEARCH_PATH=\\NTREL202.ntdev.corp.microsoft.com\4F18C3A5-CA09-4DBD-B6FC-219FDD4C6BE0\TraceFormat, sun.management.compiler=HotSpot Client 
> .
> .
> .
> {noformat}
> Configuration in pom.xml is:
> {code:xml}
> <plugin>
> 	<artifactId>maven-war-plugin</artifactId>
> 	<version>2.1-beta-1</version>
> 	<configuration>
> 		<filters>
> 			<filter>src/main/filters/application.properties</filter>
> 		</filters>
> 		<webResources>
> 			<resource>
> 				<!-- this is relative to the pom.xml directory -->
> 				<directory>src/main/filtered-resources</directory>
> 				<!-- override the destination directory for this resource -->
> 				<targetPath>WEB-INF</targetPath>
> 				<!-- Enable Filtering -->
> 				<filtering>true</filtering>
> 				<!-- Include xml files -->
> 				<includes>
> 					<include>**/*.xml</include>
> 				</includes>
> 			</resource>
> 		</webResources>
> 	</configuration>
> </plugin>
> {code}
> Pom in parent dir looks like this:
> {code:xml}
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
>   <modelVersion>4.0.0</modelVersion>
>   <groupId>com.rob</groupId>
>   <artifactId>gs</artifactId>
>   <packaging>pom</packaging>
>   <name>Module Build</name>
>   <version>0.0.1-SNAPSHOT</version>
>   <modules>
>   	<module>gs-model</module>
>   	<module>gs-interfaces</module>
>   	<module>gs-web</module>
>   </modules>
> </project>
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira