On Tuesday, 16 April 2013, Mark Eggers wrote: > Hi, > > I'm fairly new to Maven, and I'm trying to meet the following requirements. > > 1. A web site consisting of multiple components, some optional > 2. Optional components each have some configuration files > 3. If multiple optional components are present, the configuration files > should be concatenated > > My first pass using WAR overlays and the shade plugin worked, in that the > resulting site.war had all the right components. However, target/site did > not contain the concatenated files created by the shade plugin. This > prevented target/site being run from within an IDE. > > If I thought about it for a minute, that's pretty obvious since the shade > plugin is executed during the package part of the lifecycle. > > What I came up with is the following: > > 1. Create a multi-module project > 2. One module collects all of the components that require use of the > shade plugin > 3. The second module is the actual site, and depends on the > "collections" module > 4. Use the WAR plugin overlay, plus exclusions, plus the shade plugin > to create an intermediate WAR in the collections module > 5. Overlay that intermediate WAR on the final site > > This works except that I now have an extra artifact that is only used > during the build. I can run target/site from the IDE (great for debugging) > and site.war looks as it should. > > Other than the fact that this works, is this the proper "Maven way"? The > extra artifact (an artifact of the build process as it were) feels a little > odd.
Well it sounds like you are removing complexity in 1 pom by creating a few (individually) less complex poms and using the reactor to reference modules... As a principle that is more the Maven Way than a 1000 line pom that does it all "by magic" I've not seen people using shade with a war module, that's a use case that perhaps needs exploring > . . . . just my two cents > /mde/ > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Sent from my phone
