gpt4 book ai didi

maven-2 - 如何让 jetty-maven-plugin 部署从存储库中检索到的 war ?

转载 作者:行者123 更新时间:2023-12-04 22:52:26 25 4
gpt4 key购买 nike

我正在为一个大型 Web 项目设置一个集成测试模块。集成测试模块与 web 项目本身是分开的,它有自己的 pom.xml 文件。

这个想法是使用 maven-soapui-plugin 发送请求并验证响应。设置soapui-plugin 并不麻烦。但是,我无法弄清楚如何告诉 jetty-maven-plugin 从远程存储库部署 war 。

如果我理解正确,jetty-maven-plugin 有一个名为 ' / ' 的属性,它可以让我指定要部署的 war 文件。问题是模块本身中不存在war文件。

我听说我可以使用 maven 程序集插件通过项目 artifactId 从存储库中检索 war ,但我还没有弄清楚我将如何去做。

这是我想要的摘要:

  • 从存储库等中检索特定的 war ,例如通过其 artifactId。
  • 将这场 war 部署到 jetty-maven-plugin(目标部署 war ?)
  • 让 maven-soapui-plugin 运行测试并在集成测试阶段报告结果。

  • 我很确定我已经完成了第 3 步,但我非常不确定如何实现第 1 步和第 2 步。

    任何帮助是极大的赞赏

    最佳答案

    也许 可以使用dependency:copy检索 war ,解压它并使用 maven jetty 插件使整个东西工作,但这会很笨拙而且有点丑陋。更清洁的解决方案是使用 Maven Cargo plugin这是我的建议。下面是一个示例 POM,展示了如何使用其坐标检索 WAR 工件以及如何使用 Cargo 将其部署在嵌入式 Jetty 容器上:

    <dependencies>
    <dependency>
    <groupId>war group id</groupId>
    <artifactId>war artifact id</artifactId>
    <type>war</type>
    <version>war version</version>
    </dependency>
    ...
    </dependencies>
    ...
    <build>
    <plugins>
    <plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <configuration>
    <!-- Container configuration -->
    <container>
    <containerId>jetty6x</containerId>
    <type>embedded</type>
    </container>
    <!-- Configuration to use with the container or the deployer -->
    <configuration>
    <deployables>
    <deployable>
    <groupId>war group id</groupId>
    <artifactId>war artifact id</artifactId>
    <type>war</type>
    <properties>
    <context>war context</context>
    </properties>
    </deployable>
    </deployables>
    </configuration>
    <!-- Don't wait, execute the tests after the container is started -->
    <wait>false</wait>
    </configuration>
    <executions>
    <execution>
    <id>start-container</id>
    <phase>pre-integration-test</phase>
    <goals>
    <goal>start</goal>
    </goals>
    </execution>
    <execution>
    <id>stop-container</id>
    <phase>post-integration-test</phase>
    <goals>
    <goal>stop</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
    ...
    </plugins>
    ...
    </build>

    最后,只需在 integration-test上绑定(bind)soapui插件即可阶段。

    关于maven-2 - 如何让 jetty-maven-plugin 部署从存储库中检索到的 war ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2677815/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com