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