Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.6
-
Fix Version/s: 1.6.1
-
Labels:None
-
Number of attachments :
Description
Hi,
Running war:war (maven-war-plugin-1.6) the first time generates a manifest file with a single Class-Path entry (correctly including the
dependencies), but running war:war a second time (with no clean-up done) generates multiple Class-Path entries.
This problem does not occure when building the EJB's (maven-ejb-plugin-1.4). When I compared theese two I noticed that the war-plugin does an update while the ejb-plugin does not. By removing the update attribute the war-plugin works fine, for me anyway ![]()
I have the same problem with 1.7-SNAPSHOT from CVS-HEAD.
Since my project includes other developers and users I would like to avoid making (local) changes in the plugin. Currently the solution is to do a clean-up in the pre-goal to war:war.
Cheers
Joran
[manifest after first run]
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.3
Created-By: 1.4.2_05-b04 (Sun Microsystems Inc.)
Class-Path: jakarta-oro-jena-2.0.jar icu4j.jar antlr.jar
Built-By: Joran
Name: foo.bar
Specification-Title: foo-web
Specification-Version: 1.0
Specification-Vendor: Apache Software Foundation
Implementation-Title: foo.bar
Implementation-Version: 1.0
Implementation-Vendor: Apache Software Foundation
[manifest after second run]
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.3
Created-By: 1.4.2_05-b04 (Sun Microsystems Inc.)
Class-Path: jakarta-oro-jena-2.0.jar icu4j.jar antlr.jar
Class-Path: jakarta-oro-jena-2.0.jar icu4j.jar antlr.jar
Class-Path: jakarta-oro-jena-2.0.jar icu4j.jar antlr.jar
Built-By: Joran
Name: foo.bar
Specification-Title: foo-web
Specification-Version: 1.0
Specification-Vendor: Apache Software Foundation
Implementation-Title: foo.bar
Implementation-Version: 1.0
Implementation-Vendor: Apache Software Foundation
[a snippet from project.xml]
<dependency>
<groupId>jena</groupId>
<artifactId>icu4j</artifactId>
<jar>icu4j.jar</jar>
<properties>
<war.manifest.classpath>true</war.manifest.classpath>
</properties>
</dependency>
Joran,
Could you please write a simple test-case for this issue (i.e., a simple project.xml whose consecutive calls to maven war:war generates the invalid war)? I've tried to reproduce it, but the error didn't happens...
Anyway, I think the fix is essy, it's just a matter of removing the 'update=true' attribute from <ant:jar>:
<ant:jar
{maven.war.build.dir}destfile="$
/$
{maven.war.final.name}"
{maven.war.webapp.dir}basedir="$
"
{maven.war.index}update="true"
index="$
">
– Felipe