gpt4 book ai didi

integration-testing - maven-embedded-glassfish-plugin 部署 2 个应用程序

转载 作者:行者123 更新时间:2023-12-02 00:24:42 24 4
gpt4 key购买 nike

我有以下用例:我有一个使用 Spring MVC 实现的 Web 应用程序,它使用使用 Spring WS 实现的 Web 服务。

项目使用 maven 作为构建工具。现在我想为网络应用程序实现集成测试。为此,我想使用 maven-embedded-glassfish-plugin。我在 pom.xml 中有以下 Maven 配置:

    <plugin>
<groupId>org.glassfish</groupId>
<artifactId>maven-embedded-glassfish-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<goalPrefix>embedded-glassfish</goalPrefix>
<app>${basedir}/target/web-app.war</app>

<autoDelete>true</autoDelete>
<port>8080</port>
<name>web-app</name>

<configFile>src/test/resources/glassfish/domain.xml</configFile>
</configuration>

<executions>
<execution>
<id>start-glassfish</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>glassfish-deploy</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
<execution>
<id>glassfish-undeploy</id>
<phase>post-integration-test</phase>
<goals>
<goal>undeploy</goal>
</goals>
</execution>
<execution>
<id>stop-glassfish</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>

一切正常。但是现在我需要添加webservice.war文件的部署。此时这不是我的 pom 的依赖项。我只有一个 stub 类,用于调用 web-app.war 应用程序中定义的 Web 服务。

那么如何部署第二个应用程序有什么好的解决方案吗?

我想成为自动的东西,可能会使用 Maven 存储库,因为如果我进行修改,我想自动使用新版本的网络服务。

最佳答案

在 users@embedded-glassfish.java.net 和 Bhavani Shankar 先生的帮助下,我找到了以下解决方案:

  <execution>
<id>glassfish-additional_deployments</id>
<phase>pre-integration-test</phase>
<goals>
<goal>admin</goal>
</goals>
<configuration>
<commands>
<param>deploy ${basedir}/src/test/resources/integrationtest/app-ws.war</param>
</commands>
</configuration>
</execution>

理论上你可以在war的maven中设置依赖,然后也从lib目录部署war文件。

这个插件的一些有趣的地方,如果有人想使用这个选项:

    <instanceRoot>${project.build.directory}/glassfish</instanceRoot>

仅在现有的 glassfish 安装中不能在版本 3.1.1 中工作。如果要设置此属性,请使用(无需安装 glassfish):

      <systemProperties>
<property>glassfish.embedded.tmpdir=target/glassfish</property>
</systemProperties>

关于integration-testing - maven-embedded-glassfish-plugin 部署 2 个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280413/

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