Author: olamy
Date: Sun Mar 24 10:17:52 2013
New Revision: 1460305

URL: http://svn.apache.org/r1460305
Log:
[MTOMCAT-215] Multiple manifests under META-INF, two Main-Class entries
Submitted by Tim Astle.

Modified:
    
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java

Modified: 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java?rev=1460305&r1=1460304&r2=1460305&view=diff
==============================================================================
--- 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java
 (original)
+++ 
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java
 Sun Mar 24 10:17:52 2013
@@ -69,45 +69,45 @@ public abstract class AbstractExecWarMoj
     extends AbstractTomcat7Mojo
 {
 
-    @Parameter( defaultValue = "${project.artifact}", required = true, 
readonly = true )
+    @Parameter(defaultValue = "${project.artifact}", required = true, readonly 
= true)
     protected Artifact projectArtifact;
 
     /**
      * The maven project.
      */
-    @Parameter( defaultValue = "${project}", required = true, readonly = true )
+    @Parameter(defaultValue = "${project}", required = true, readonly = true)
     protected MavenProject project;
 
-    @Parameter( defaultValue = "${plugin.artifacts}", required = true )
+    @Parameter(defaultValue = "${plugin.artifacts}", required = true)
     protected List<Artifact> pluginArtifacts;
 
-    @Parameter( defaultValue = "${project.build.directory}" )
+    @Parameter(defaultValue = "${project.build.directory}")
     protected File buildDirectory;
 
     /**
      * Path under {@link #buildDirectory} where this mojo may do temporary 
work.
      */
-    @Parameter( defaultValue = 
"${project.build.directory}/tomcat7-maven-plugin-exec" )
+    @Parameter(defaultValue = 
"${project.build.directory}/tomcat7-maven-plugin-exec")
     private File pluginWorkDirectory;
 
-    @Parameter( property = "maven.tomcat.exec.war.tomcatConf", defaultValue = 
"src/main/tomcatconf" )
+    @Parameter(property = "maven.tomcat.exec.war.tomcatConf", defaultValue = 
"src/main/tomcatconf")
     protected File tomcatConfigurationFilesDirectory;
 
-    @Parameter( defaultValue = "src/main/tomcatconf/server.xml", property = 
"maven.tomcat.exec.war.serverXml" )
+    @Parameter(defaultValue = "src/main/tomcatconf/server.xml", property = 
"maven.tomcat.exec.war.serverXml")
     protected File serverXml;
 
     /**
      * Name of the generated exec JAR.
      */
-    @Parameter( property = "tomcat.jar.finalName",
-                defaultValue = 
"${project.artifactId}-${project.version}-war-exec.jar", required = true )
+    @Parameter(property = "tomcat.jar.finalName",
+               defaultValue = 
"${project.artifactId}-${project.version}-war-exec.jar", required = true)
     protected String finalName;
 
     /**
      * The webapp context path to use for the web application being run.
      * The name to store webapp in exec jar. Do not use /
      */
-    @Parameter( property = "maven.tomcat.path", defaultValue = 
"${project.artifactId}", required = true )
+    @Parameter(property = "maven.tomcat.path", defaultValue = 
"${project.artifactId}", required = true)
     protected String path;
 
     @Parameter
@@ -125,13 +125,13 @@ public abstract class AbstractExecWarMoj
     /**
      * Location of the local repository.
      */
-    @Parameter( defaultValue = "${localRepository}", required = true, readonly 
= true )
+    @Parameter(defaultValue = "${localRepository}", required = true, readonly 
= true)
     protected ArtifactRepository local;
 
     /**
      * List of Remote Repositories used by the resolver
      */
-    @Parameter( defaultValue = "${project.remoteArtifactRepositories}", 
required = true, readonly = true )
+    @Parameter(defaultValue = "${project.remoteArtifactRepositories}", 
required = true, readonly = true)
     protected List<ArtifactRepository> remoteRepos;
 
     @Component
@@ -140,35 +140,35 @@ public abstract class AbstractExecWarMoj
     /**
      * Attach or not the generated artifact to the build (use true if you want 
to install or deploy it)
      */
-    @Parameter( property = "maven.tomcat.exec.war.attachArtifact", 
defaultValue = "true", required = true )
+    @Parameter(property = "maven.tomcat.exec.war.attachArtifact", defaultValue 
= "true", required = true)
     protected boolean attachArtifact;
 
 
     /**
      * the classifier to use for the attached/generated artifact
      */
-    @Parameter( property = "maven.tomcat.exec.war.attachArtifactClassifier", 
defaultValue = "exec-war",
-                required = true )
+    @Parameter(property = "maven.tomcat.exec.war.attachArtifactClassifier", 
defaultValue = "exec-war",
+               required = true)
     protected String attachArtifactClassifier;
 
 
     /**
      * the type to use for the attached/generated artifact
      */
-    @Parameter( property = "maven.tomcat.exec.war.attachArtifactType", 
defaultValue = "jar", required = true )
+    @Parameter(property = "maven.tomcat.exec.war.attachArtifactType", 
defaultValue = "jar", required = true)
     protected String attachArtifactClassifierType;
 
     /**
      * to enable naming when starting tomcat
      */
-    @Parameter( property = "maven.tomcat.exec.war.enableNaming", defaultValue 
= "false", required = true )
+    @Parameter(property = "maven.tomcat.exec.war.enableNaming", defaultValue = 
"false", required = true)
     protected boolean enableNaming;
 
     /**
      * see http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html
      */
-    @Parameter( property = "maven.tomcat.exec.war.accessLogValveFormat", 
defaultValue = "%h %l %u %t %r %s %b %I %D",
-                required = true )
+    @Parameter(property = "maven.tomcat.exec.war.accessLogValveFormat", 
defaultValue = "%h %l %u %t %r %s %b %I %D",
+               required = true)
     protected String accessLogValveFormat;
 
     /**
@@ -187,14 +187,14 @@ public abstract class AbstractExecWarMoj
     /**
      * Main class to use for starting the standalone jar.
      */
-    @Parameter( property = "maven.tomcat.exec.war.mainClass",
-                defaultValue = 
"org.apache.tomcat.maven.runner.Tomcat7RunnerCli", required = true )
+    @Parameter(property = "maven.tomcat.exec.war.mainClass",
+               defaultValue = 
"org.apache.tomcat.maven.runner.Tomcat7RunnerCli", required = true)
     protected String mainClass;
 
     /**
      * which connector protocol to use HTTP/1.1 or 
org.apache.coyote.http11.Http11NioProtocol
      */
-    @Parameter( property = "maven.tomcat.exec.war.connectorHttpProtocol", 
defaultValue = "HTTP/1.1", required = true )
+    @Parameter(property = "maven.tomcat.exec.war.connectorHttpProtocol", 
defaultValue = "HTTP/1.1", required = true)
     protected String connectorHttpProtocol;
 
     public void execute()
@@ -557,6 +557,10 @@ public abstract class AbstractExecWarMoj
         while ( entries.hasMoreElements() )
         {
             JarEntry j = entries.nextElement();
+            if ( StringUtils.equalsIgnoreCase( j.getName(), 
"META-INF/MANIFEST.MF" ) )
+            {
+                continue;
+            }
             os.putArchiveEntry( new JarArchiveEntry( j.getName() ) );
             IOUtils.copy( file.getInputStream( j ), os );
             os.closeArchiveEntry();



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to