gpt4 book ai didi

Maven 和 Exec : forking a process?

转载 作者:行者123 更新时间:2023-12-03 22:30:48 27 4
gpt4 key购买 nike

我正在尝试使用 Maven 在应用程序上运行一些集成测试之前启动它。我在 Windows 上。我的 Maven 插件配置如下所示:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>start-my-application</id>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>start_application.bat</executable>
<workingDirectory>./path/to/application</workingDirectory>
</configuration>
</execution>
<executions>
<plugin>

我的批处理文件如下所示:
start myApplication.exe

单独运行时,批处理文件会生成一个单独的窗口来运行应用程序并立即返回控制权。

但是,当从 Maven 运行时,构建会等待单独窗口中的进程完成,然后再继续。这在某种程度上违背了集成测试阶段的要点......

我有什么想法可以在 Maven 中启动一个真正独立的过程,以允许构建与它一起继续吗?

最佳答案

为了记录,一个相当黑客的解决方案是使用 maven-antrun-plugin调用 Ant,它能够产生单独的进程:

<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>pre-integration-test</phase>
<configuration>
<target>
<exec executable="cmd"
dir="./path/to/application"
spawn="true">
<arg value="/c"/>
<arg value="start_application.bat"/>
</exec>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>

关于Maven 和 Exec : forking a process?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4668839/

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