[ http://jira.codehaus.org/browse/MNG-1038?page=comments#action_48768 ]
Fabrice BELLINGARD commented on MNG-1038: ----------------------------------------- Hi Edwin, I'm getting confused for it seems that we don't understand each other: the actual problem is that the final War archive has *no* JARs in its WEB-INF/lib folder, which is definitely not correct because a WAR must contain the libs it depends on (if not, the web application can't be run, right?). My use case is the following: 1- I check out a project from CVS: this project has JARs in its WEB-INF/lib folder because developers put them in the SCM. But some of those JARs may be unused (even if not removed from CVS). Only the POM can tell which JARs the project really depends on. 2- I want to build the WAR with "m2 package". In the final WAR archive, I don't want to have the unused JARs, but only the ones referenced in the POM. - With m1, when I build my project, the "war.src.excludes" property excludes the JARs that where checked out from CVS, and does not exclude the JARs that are copied from the local repo to be included in the War. And that's exactly what I expect this property to do! - But in m2, because #getExcludes is used in #performPackaging, the JARs previously copied from the local repo to be put in the WAR are also excluded from the War! Which I don't want, of course (a WAR archive needs its libs to be able to work properly!). So 'warSourceExcludes' should normally be used only in #copyResources (because it is meant to exclude files from the WAR *source*), but not in #performPackaging (because at that stage, the MOJO has copied from local repo the JARs corresponding to the dependencies defined in the POM, and I don't want the MOJO to exclude such files which are not *sources*). > warSourceExcludes not working properly > -------------------------------------- > > Key: MNG-1038 > URL: http://jira.codehaus.org/browse/MNG-1038 > Project: Maven 2 > Type: Bug > Components: maven-war-plugin > Versions: 2.0-beta-1 > Environment: Win2k, Java 1.4.2_04, m2 beta1 > Reporter: Fabrice BELLINGARD > Assignee: Edwin Punzalan > Fix For: 2.0 > Attachments: MNG-1038-maven-war-plugin.patch > > > Note: I posted a message on Maven users list > (http://www.mail-archive.com/users%40maven.apache.org/msg24088.html), but I > got no answer so I post this issue, which in turn may or not be a bug... > (sorry if it's not) > I experienced a strange behaviour with the 'warSourceExcludes' property. When > I grab some Web projects from the CVS of my company, I usually get all the > WEB-INF/lib Jars that the developers put in the CVS: > - With Maven 1, I use the 'maven.war.src.excludes' property to exclude those > Jars ('maven.war.src.excludes=**/lib/*.*'), and it works well: the Jars > packaged in the War are only the ones defined in the pom. > - With m2, I tried to use the 'warSourceExcludes' property, which seemed to > me to be the equivalent property. However, when the War is generated, there > is no jar in the WEB-INF/lib folder. This works as if the plugin is excluding > files after having copied the needed dependencies in the WEB-INF/lib folder > (whereas in the Maven 1 version, it was excluding them before). > Looking at the code of the m2 plugin, the value of 'warSourceExcludes' is > used in method #getExcludes which is actually called in #performPackaging > method. If this property is to work the same way as in m1, its value should > be used in #copyResources method, before copying the Jar dependencies in > WEB-INF/lib. > What do you guys think of that? Am I right or am I missing something? -- 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
