This is a known bug. See: http://jira.codehaus.org/browse/MJAR-156
http://jira.codehaus.org/browse/MACR-4 Please comment and vote these bugs that you also suffer from this problem and want to see it fixed. > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: Mittwoch, 22. August 2012 15:18 > To: [email protected] > Subject: Manifest of WAR contains wrong references to SNAPSHOT-versions > of EAR-based libaries > > Hello, > > I've come across a rather sever problem in our environment. We create > EAR-projects that contain WAR-modules and use the old-fashioned way to > handle skinny WAR-files by denoting the maven-war-plugin to exclude all > jar-files and rather put them in the EAR-lib-directory. This is done by > the following plugin configurations for EAR and WAR: > > EAR-pom.xml > > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-ear-plugin</artifactId> > <configuration> > <version>6</version> > <defaultLibBundleDir>lib/</defaultLibBundleDir> > > <generateApplicationXml>true</generateApplicationXml> > <archive> > <manifestEntries> > <Implementation-Title>DAAS BE</ > Implementation-Title> > <Implementation-Version>${project.version} > ${timestamp}</Implementation-Version> > </manifestEntries> > </archive> > <security> > <security-role id="CONFIG"> > <role-name>CONFIG</role-name> > </security-role> > <security-role id="WEBSERVICE_GET"> > <role-name>WEBSERVICE_GET</role-name> > </security-role> > <security-role id="WEBSERVICE_SET"> > <role-name>WEBSERVICE_SET</role-name> > </security-role> > </security> > <modules> > <webModule> > <groupId>daas-backend</groupId> > <artifactId>daas-backend-war</artifactId> > <contextRoot>Daas</contextRoot> > <bundleFileName>daas-backend-war.war</ > bundleFileName> > </webModule> > <ejbModule> > <groupId>daas-backend</groupId> > <artifactId>daas-backend- > system</artifactId> > <bundleFileName>daas-backend-system.jar</ > bundleFileName> > </ejbModule> > </modules> > </configuration> > </plugin> > > WAR-pom.xml: > > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-war-plugin</artifactId> > <configuration> > <failOnMissingWebXml>false</failOnMissingWebXml> > <packagingExcludes>WEB-INF/lib/*.jar</ > packagingExcludes> > <archive> > <manifest> > <addClasspath>true</addClasspath> > <classpathPrefix>lib/</classpathPrefix> > </manifest> > </archive> > </configuration> > </plugin> > > However, in case a SNAPSHOT-version of a dependency is added to both, > the EAR and the WAR, the corresponding MANIFEST-ClassPath-Entry of the > dependency is created wrong as shown below: > > Generated ClassPath: > > Class-Path: daas-backend-system.jar lib/websphere-admin-client-2012.2. > 0-SNAPSHOT.jar lib/logging-5.0.0.jar lib/util-5.0.0.jar lib/jaxb2-bas > ics-runtime-0.6.3.jar lib/websphere-admin-client-2012.2.0-20120822.03 > 1057-2.jar lib/poi-3.7.jar lib/commons-beanutils-1.8.3.jar lib/jbpm-j > pdl-4.5-20120709.122214-1.jar lib/jbpm-api-4.5-20120709.122204-2.jar > lib/jbpm-pvm-4.5-20120709.122211-1.jar lib/jbpm-log-4.5-20120709.1222 > 06-2.jar lib/hibernate-core-3.6.7.Final.jar lib/antlr-2.7.6.jar lib/c > ommons-collections-3.1.jar lib/dom4j-1.6.1.jar lib/hibernate-commons- > annotations-3.2.0.Final.jar lib/hibernate-jpa-2.0-api-1.0.1.Final.jar > lib/slf4j-api-1.6.1.jar lib/slf4j-jdk14-1.6.2.jar lib/commons-lang-2 > .6.jar lib/soap-2.3.1.jar lib/guava-11.0.1.jar lib/jsr305-1.3.9.jar > > Here the snapshots have been created as: > > lib/websphere-admin-client-2012.2.0-20120822.031057-2.jar > lib/jbpm-jpdl-4.5-20120709.122214-1.jar > lib/jbpm-api-4.5-20120709.122204-2.jar > lib/jbpm-pvm-4.5-20120709.122211-1.jar > lib/jbpm-log-4.5-20120709.122206-2.jar > > But the EAR-lib directory contains them as > > lib/websphere-admin-client-SNAPSHOT.jar > lib/jbpm-jpdl-4.5-SNAPSHOT.jar > lib/jbpm-api-4.5-SNAPSHOT.jar > lib/jbpm-pvm-4.5-SNAPSHOT.jar > lib/jbpm-log-4.5-SNAPSHOT.jar > > The only solution that I could think of to this is to manually add the > wrong dependencies by adding the following to the maven-war-plugin > configuration: > > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-war-plugin</artifactId> > <configuration> > <failOnMissingWebXml>false</failOnMissingWebXml> > <packagingExcludes>WEB-INF/lib/*.jar</ > packagingExcludes> > <archive> > <manifest> > <addClasspath>true</addClasspath> > <classpathPrefix>lib/</classpathPrefix> > </manifest> > <manifestEntries> > <Class-Path>daas-backend-system.jar > lib/websphere-admin-client-2012.2.0-SNAPSHOT.jar > lib/jbpm-api-4.5-SNAPSHOT.jar lib/jbpm-log-4.5-SNAPSHOT.jar lib/jbpm- > jpdl-4.5-SNAPSHOT.jar lib/jbpm-pvm-4.5-SNAPSHOT.jar</Class-Path> > </manifestEntries> > </archive> > </configuration> > </plugin> > > What did I do wrong here? I cannot imagine this happend before. I'm > clueless on how to handle this any better. > > Please help! > > Thank you very much. > > Best regards, > > Heiko > > If you are not the intended addressee, please inform us immediately > that you have received this e-mail in error, and delete it. We thank > you for your cooperation. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
