Cargo maven插件 - 启动目标忽略配置,“运行”工作正常

时间:2012-01-31 12:51:09

标签: maven war cargo maven-cargo

我想要货物maven插件启动Tomcat7,所以我放入我的pom:

            <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中设置的配置被忽略:“没有使用默认[jetty6x,嵌入式]容器定义容器”

您可以轻松地重现这一点。只需创建一个war-maven应用程序:

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

然后将上面的代码添加到pom并运行两个命令。

那么如何为目标ContainerId正确设置Urlstart - 我错过了什么?!

1 个答案:

答案 0 :(得分:3)

所以我联系了货物支持。上面的配置确实只适用于运行目标,但也有一个适用于两者的配置(货运文档在某种程度上是错误的):

<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。