You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Simone Pierazzini (JIRA)" <ji...@codehaus.org> on 2009/04/24 13:01:45 UTC

[jira] Commented: (MWAR-158) Overlaying breaks configuration of webXml with a fatal error

    [ http://jira.codehaus.org/browse/MWAR-158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=174110#action_174110 ] 

Simone Pierazzini commented on MWAR-158:
----------------------------------------

I think that the exception occurs because WarProjectPackagingTask registers the path in the FullStructure only.
If one modifies the class as shown in the following the build doesn't fail anymore.

I don't know if it's correct to use WarProjectPackagingTask.id to identify the war project as the owner.

Index: src/main/java/org/apache/maven/plugin/war/packaging/WarProjectPackagingTask.java
===================================================================
--- src/main/java/org/apache/maven/plugin/war/packaging/WarProjectPackagingTask.java    (revisione 768245)
+++ src/main/java/org/apache/maven/plugin/war/packaging/WarProjectPackagingTask.java    (copia locale)
@@ -230,6 +230,7 @@
                 }
 
                 context.getWebappStructure().getFullStructure().add( WEB_INF_PATH + "/web.xml" );
+                context.getWebappStructure().getStructure(id).add( WEB_INF_PATH + "/web.xml" );
             }
             else
             {
@@ -241,6 +242,7 @@
                     context.getMavenFileFilter().copyFile( defaultWebXml, new File( webinfDir, "web.xml" ), true,
                                                            context.getFilterWrappers(), getEncoding( defaultWebXml ) );
                     context.getWebappStructure().getFullStructure().add( WEB_INF_PATH + "/web.xml" );
+                    context.getWebappStructure().getStructure(id).add( WEB_INF_PATH + "/web.xml" );
                 }
             }
 
@@ -259,6 +261,7 @@
                               "META-INF/" + xmlFileName, true );
                 }
                 context.getWebappStructure().getFullStructure().add( META_INF_PATH + "/" + xmlFileName );
+                context.getWebappStructure().getStructure(id).add( META_INF_PATH + "/" + xmlFileName );
             }
         }
         catch ( IOException e )


> Overlaying breaks configuration of webXml with a fatal error
> ------------------------------------------------------------
>
>                 Key: MWAR-158
>                 URL: http://jira.codehaus.org/browse/MWAR-158
>             Project: Maven 2.x WAR Plugin
>          Issue Type: Bug
>    Affects Versions: 2.1-alpha-1
>         Environment: Maven 2.0.9
> SuSE Linux 10.3
> java version "1.5.0_09"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b03)
> Java HotSpot(TM) Server VM (build 1.5.0_09-b03, mixed mode)
>            Reporter: Michael Heß
>            Priority: Critical
>         Attachments: webXmlBug.tar.gz
>
>
> When using overlays, it is no longer possible to use the webXml configuration value. The following exception is thrown:
> [INFO] [war:war]
> [INFO] Packaging webapp
> [INFO] Assembling webapp[webXmlBug] in [/home/mhe/workspace_spielwiese/webXmlBug/target/webXmlBug]
> [INFO] Processing war project
> OverlayPackagingTask performPackaging overlay.getTargetPath() null[INFO] Processing overlay[ id de.ordix.webXmlBug:overlay]
> [INFO] Unpacking overlay[ id de.ordix.webXmlBug:overlay]
> [INFO] Expanding: /home/mhe/.m2/repository/de/ordix/webXmlBug/overlay/1.0-SNAPSHOT/overlay-1.0-SNAPSHOT.war into /home/mhe/workspace_spielwiese/webXmlBug/target/war/work/de.ordix.webXmlBug/overlay
> [INFO] ------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Should not happen, path[WEB-INF/web.xml] is flagged as being registered but was not found.
> [INFO] ------------------------------------------------------------------------
> [INFO] Trace
> java.lang.IllegalStateException: Should not happen, path[WEB-INF/web.xml] is flagged as being registered but was not found.
>         at org.apache.maven.plugin.war.util.WebappStructure.getOwner(WebappStructure.java:157)
>         at org.apache.maven.plugin.war.util.WebappStructure.registerFile(WebappStructure.java:105)
>         at org.apache.maven.plugin.war.packaging.AbstractWarPackagingTask.copyFile(AbstractWarPackagingTask.java:140)
> [...]
> I have attached a testcase, which reproduces the problem. Just build overlay and webXmlBug with "mvn clean install".
> (I know the testcase is synthetic. If you want a "real world" scenario, just replace the resources-copy step with e.g. jsp-precompiling.)

-- 
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