2012-01-31 45 views
1

我想要的貨物Maven插件開始Tomcat7,所以我把我的POM:貨物Maven插件 - 啓動目標忽略的配置,在「運行」正常工作

  <plugin> 
      <groupId>org.codehaus.cargo</groupId> 
      <artifactId>cargo-maven2-plugin</artifactId> 
      <version>1.2.0</version> 
      <!-- minimal configuration to let adb run (mvn package org.codehaus.cargo:cargo-maven2-plugin:run) in a local tomcat --> 
      <configuration> 
       <containerId>tomcat7x</containerId> 
       <containerUrl>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.zip 
       </containerUrl> 
       <configuration> 
        <properties> 
         <cargo.servlet.port>1718</cargo.servlet.port> 
        </properties> 
       </configuration> 
      </configuration> 
     </plugin> 

的問題是,如果我運行:

mvn package org.codehaus.cargo:cargo-maven2-plugin:run 

所有工作正常,但如果我跑

mvn package org.codehaus.cargo:cargo-maven2-plugin:start 

在POM設定的配置beeing忽略:「沒有容器定義,使用默認[jetty6x,嵌入]容器「

你可以很容易地重現這一點。只需創建一個war-maven應用程序:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webappp 

然後將上面的代碼添加到pom並運行這兩個命令。

那麼如何正確設置ContainerIdUrl目標start - 我錯過了什麼?

+1

請參閱關於java-forum.org的評論。 – khmarbaise 2012-01-31 14:01:02

+0

這兩個命令在你的問題中是一樣的... – 2013-03-28 12:20:55

回答

3

所以我聯繫了貨運支持。上述的配置只能運行目標的工作確實,但也有與兩個(貨物DOC以某種方式誤導)工作的配置:

<plugin> 
    <groupId>org.codehaus.cargo</groupId> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <version>1.2.0</version> 
    <!-- minimal configuration to let adb run (mvn package org.codehaus.cargo:cargo-maven2-plugin:run) in a local tomcat --> 
    <configuration> 
     <container> 
     <containerId>tomcat7x</containerId> 
     <zipUrlInstaller> 
      <url>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.zip</url> 
     </zipUrlInstaller> 
     </container> 
     <configuration> 
     <properties> 
      <cargo.servlet.port>1718</cargo.servlet.port> 
     </properties> 
     </configuration> 
    </configuration> 
    </plugin> 

通知的附加容器和zipUrlInstaller標籤,而不是containerUrl。