2012-12-21 6 views
5

mavenを使用してWARをデプロイすると、ターゲットwar(まったく同じもの)がサーバーに2回アップロードされます。 誰かがそれを説明できますか?Apache Tomcat MavenプラグインがWARファイルを2回アップロードするのはなぜですか?

私は自分のモジュールでこれを使用しています:ログから

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> 

UPDATE 親ポンポン:

http://maven.apache.org/xsd/maven-4.0.0.xsd ">任意のヒントの 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

jettyプラグインを削除して再実行して、jettyプラグインが原因ではないことを確認してください。 –

+0

@SajanChandranは試してくれてありがとうございますが、変更はありません – Cabot

+0

これはApacheで問題があります(@Cabotさんから推測します): [MTOMCAT-195](https://issues.apache.org/ jira/browse/MTOMCAT-195) しかし説明はありません。 – peron

答えて

0

インストール目標なしでmvnコマンドラインを実行してみてください。

0

最近、戦争のテストサーバーへのアップロード中に同じ問題が発生しました。インターネットでこの質問に対する答えを見つけようといくつかの試みを行いましたが、成功しませんでした。偶然、私は私のケースで私たちの問題を発見し、多分これは誰かに役立つかもしれないので、私はここでそれを共有します(しかし、私はあなたのケースであるかどうかはわかりません)。

私の場合、戦争の二重アップロードは、私がポートを転送した理由に起因しています。 Tomcatは通常、8080ポートで動作します。これを80ポートで動作させるには、サーバを(iptablesを使用して)設定し、80から8080ポートへのリクエストを転送するだけです。 tomcat mavenプラグインの設定では、8080ポートを指定せずにipを使ってアップロードするだけでした。これにより、Mavenプラグインが戦争を2回アップロードします(最初のリクエストはリダイレクト、2回目は実際のアップロードでした)。

プラグインの設定でポートを8080に変更するだけで問題が解決しました。

関連する問題