当我使用maven部署WAR时,目标war(完全相同)将被上传到服务器两次。 有人可以解释一下吗?
我在我的模块上使用它:
clean install org.apache.tomcat.maven:tomcat6-maven-plugin:2.0:redeploy
从日志文件
[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ mobile-server ---
[INFO] Packaging webapp
[INFO] Assembling webapp [mobile-server] in [C:\develope\mobile\mobile-server\target\mobile-server]
[INFO] Processing war project
[INFO] Copying webapp resources [C:\develope\mobile\mobile-server\src\main\webapp]
[INFO] Webapp assembled in [241 msecs]
[INFO] Building war: C:\develope\mobile\mobile-server\target\mobile-server.war
[INFO]
[INFO] <<< tomcat6-maven-plugin:2.0:redeploy (default-cli) @ mobile-server <<<
[INFO]
[INFO] --- tomcat6-maven-plugin:2.0:redeploy (default-cli) @ mobile-server ---
[INFO] Deploying war to http://myserver.eu/pra-mobile-server
Uploading: http://myserver.eu/manager-test/deploy?path=%2Fmobile-server&update=true
Uploaded: http://myserver.eu/manager-test/deploy?path=%2Fmobile-server&update=true (12678 KB at 49.3 KB/sec)
Uploading: http://myserver.eu/manager-test/deploy?path=%2Fmobile-server&update=true
Uploaded: http://myserver.eu/manager-test/deploy?path=%2Fmobile-server&update=true (12678 KB at 50.9 KB/sec)
我的主要pom.xml看起来像这样:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>eu.company.prj.pramobile</groupId>
<artifactId>mobile-parent</artifactId>
<relativePath>../mobile-parent/pom.xml</relativePath>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>mobile-server</artifactId>
<packaging>war</packaging>
<name>mobile server</name>
<properties>
<version.standard.taglibs>1.1.2</version.standard.taglibs>
</properties>
<repositories>
<repository>
<id>com.springsource.repository.libs-milestone</id>
<name>SpringSource Enterprise Bundle Repository - libs</name>
<url>http://repo.springsource.org/libs-milestone/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>mobile-test</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>mobile-common</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Import Spring dependencies, these are either from community or versions
certified in WFK2 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.springmodules</groupId>
<artifactId>spring-modules-cache</artifactId>
<version>0.8a</version>
<!-- Unfortunately design of spring cache module is not the best - we
need to exclude not necessary dependencies -->
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>gigaspaces</groupId>
<artifactId>gigaspaces-ce</artifactId>
</exclusion>
<exclusion>
<groupId>jini</groupId>
<artifactId>jsk-lib</artifactId>
</exclusion>
<exclusion>
<groupId>jini</groupId>
<artifactId>jsk-platform</artifactId>
</exclusion>
<exclusion>
<groupId>jini</groupId>
<artifactId>mahalo</artifactId>
</exclusion>
<exclusion>
<groupId>jini</groupId>
<artifactId>reggie</artifactId>
</exclusion>
<exclusion>
<groupId>jini</groupId>
<artifactId>start</artifactId>
</exclusion>
<exclusion>
<groupId>jini</groupId>
<artifactId>boot</artifactId>
</exclusion>
<exclusion>
<groupId>jini</groupId>
<artifactId>webster</artifactId>
</exclusion>
<exclusion>
<groupId>commons-attributes</groupId>
<artifactId>commons-attributes-api</artifactId>
</exclusion>
<exclusion>
<groupId>commons-attributes</groupId>
<artifactId>commons-attributes-compiler</artifactId>
</exclusion>
<exclusion>
<groupId>jboss</groupId>
<artifactId>javassist</artifactId>
</exclusion>
<exclusion>
<groupId>jboss</groupId>
<artifactId>jboss-cache</artifactId>
</exclusion>
<exclusion>
<groupId>jboss</groupId>
<artifactId>jboss-common</artifactId>
</exclusion>
<exclusion>
<groupId>jboss</groupId>
<artifactId>jboss-jmx</artifactId>
</exclusion>
<exclusion>
<groupId>jboss</groupId>
<artifactId>jboss-minimal</artifactId>
</exclusion>
<exclusion>
<groupId>jboss</groupId>
<artifactId>jboss-system</artifactId>
</exclusion>
<exclusion>
<groupId>jcs</groupId>
<artifactId>jcs</artifactId>
</exclusion>
<exclusion>
<groupId>jgroups</groupId>
<artifactId>jgroups-all</artifactId>
</exclusion>
<exclusion>
<groupId>geronimo-spec</groupId>
<artifactId>geronimo-spec-jta</artifactId>
</exclusion>
<exclusion>
<groupId>xpp3</groupId>
<artifactId>xpp3_min</artifactId>
</exclusion>
<exclusion>
<groupId>xjavadoc</groupId>
<artifactId>xjavadoc</artifactId>
</exclusion>
<exclusion>
<groupId>opensymphony</groupId>
<artifactId>oscache</artifactId>
</exclusion>
<exclusion>
<groupId>ehcache</groupId>
<artifactId>ehcache</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>${version.quartz}</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.1</version>
</dependency>
<!--mockito for test-->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.kubek2k</groupId>
<artifactId>springockito</artifactId>
<version>1.0.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.kubek2k</groupId>
<artifactId>springockito-annotations</artifactId>
<version>1.0.5</version>
<scope>test</scope>
</dependency>
<!--testing MVC controllers-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test-mvc</artifactId>
<version>1.0.0.M2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
</dependencies>
<build>
<finalName>mobile-server</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.10</version>
<configuration>
<jettyEnvXml>${basedir}/src/test/resources/jetty-env.xml</jettyEnvXml>
<!-- Solves locked problem for JSP while jetty is running -->
<webDefaultXml>src/test/resources/webdefault.xml</webDefaultXml>
<stopKey>0</stopKey>
<stopPort>8001</stopPort>
<scanIntervalSeconds>5</scanIntervalSeconds>
<systemProperties>
<systemProperty>
<name>org.apache.commons.logging.Log</name>
<value>org.apache.commons.logging.impl.SimpleLog</value>
</systemProperty>
<systemProperty>
<name>log4j.configurationFile</name>
<value>file:${project.basedir}/src/main/resources/log4j.xml</value>
</systemProperty>
</systemProperties>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
</dependencies>
</plugin>
<!-- Surefire plugin before 2.9 version is buggy -->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<configuration>
<parallel>true</parallel>
<threadCount>10</threadCount>
<systemPropertyVariables>
<java.awt.headless>true</java.awt.headless>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<!--to avoid maven error message-->
<configuration>
<packagingExcludes>WEB-INF/web.xml</packagingExcludes>
</configuration>
</plugin>
<!--import objects from schema generation-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<encoding>UTF-8</encoding>
<extension>true</extension>
<packageName>eu.company.prj.pra.mobile.server.generated.place1</packageName>
<schemaDirectory>src/main/resources/META-INF/schema</schemaDirectory>
<outputDirectory>${basedir}/src/main/java/</outputDirectory>
<failOnNoSchemas>true</failOnNoSchemas>
<clearOutputDir>false</clearOutputDir>
</configuration>
</plugin>
<!-- mvn tomcat plugin alternative - run -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<systemProperties>-Dmaven.tomcat.uriEncoding=UTF-8</systemProperties>
<url>${tomcat-maven-plugin.url}</url>
<username>${tomcat-maven-plugin.username}</username>
<password>${tomcat-maven-plugin.password}</password>
</configuration>
</plugin>
<!-- mvn tomcat plugin alternative - run -->
<!--<plugin>-->
<!--<groupId>org.codehaus.mojo</groupId>-->
<!--<artifactId>tomcat-maven-plugin</artifactId>-->
<!--<configuration>-->
<!--<contextFile>${basedir}/src/test/resources/tomcat-context.xml</contextFile>-->
<!--<url>${tomcat-maven-plugin.url}</url>-->
<!--<username>${tomcat-maven-plugin.username}</username>-->
<!--<password>${tomcat-maven-plugin.password}</password>-->
<!--</configuration>-->
<!--<dependencies>-->
<!--<dependency>-->
<!--<groupId>mysql</groupId>-->
<!--<artifactId>mysql-connector-java</artifactId>-->
<!--<version>5.1.9</version>-->
<!--</dependency>-->
<!--</dependencies>-->
<!--</plugin>-->
</plugins>
</build>
更新 父母:
http://maven.apache.org/xsd/maven-4.0.0.xsd“&GT; 4.0.0
<groupId>eu.company.prj.mobile</groupId>
<artifactId>mobile-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>mobile project parent</name>
<properties>
<version.spring>3.1.1.RELEASE</version.spring>
<version.jackson>1.9.11</version.jackson>
<version.commons.logging>1.1.1</version.commons.logging>
<version.quartz>2.1.6</version.quartz>
<slf4j.version>1.5.8</slf4j.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<!-- Force Java 6 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
just properties with u/p ...
</profiles>
谢谢你的提示。
答案 0 :(得分:0)
试一试并运行没有安装目标的mvn cmd行。
答案 1 :(得分:0)
最近,在将我的战争上传到测试服务器期间,我遇到了同样的问题。我曾多次尝试在互联网上找到这个问题的答案但没有成功。无意中,我发现了我的问题,我在这里分享,因为这可能对某人有帮助(但是,我不确定这是否是你的情况)。
所以在我的情况下,双重上传战争是由于我转发端口的原因造成的。 Tomcat通常在8080端口上运行。为了强制它在80端口上工作,我配置了我的服务器(使用iptables),它只是将请求从80转发到8080端口。对于tomcat maven插件配置,我只是使用ip上传,而没有指定8080端口。这会导致maven插件上传两次战争(第一个请求是重定向,第二个是实际上传)。
只需将插件配置中的端口更改为8080即可解决我的问题。