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

Posted

技术标签:

【中文标题】Cargo maven 插件 - 启动目标忽略配置,“运行”工作正常【英文标题】:Cargo maven plugin - start goal ignores configuration, "run" works fine 【发布时间】:2012-02-23 04:30:54 【问题描述】:

我想让 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,嵌入式] 容器”

您可以轻松地复制它。只需创建一个战争专家应用程序:

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

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

那么如何为目标start 正确设置ContainerIdUrl -- 我错过了什么吗?!

【问题讨论】:

查看 java-forum.org 上的评论。 这两个命令在你的问题中是一样的... 【参考方案1】:

所以我联系了货运支持。上面的配置确实只适用于运行目标,但也有一个配置同时适用于两者(货物文档有点误导):

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

【讨论】:

以上是关于Cargo maven 插件 - 启动目标忽略配置,“运行”工作正常的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 Maven Cargo 以使用嵌入式 Tomcat 6 服务器?

使用 cargo 插件在 payara 上部署

如何为 Jetty 的 Maven Cargo 插件指定 jetty-env.xml 文件?

从 cargo-maven2-plugin 以嵌入式模式启动 tomcat 的最简单方法是啥?

启动 maven 插件并在 VS Code 上附加调试器

如何使用 Cargo maven 插件远程部署 EAR 到 JBoss 5.1.0.GA?