情景就是这样。我们的项目由多个模块组成,一个特定模块的目的是在构建下一个模块之前暂停一段时间内maven的执行。通过在 exec-maven-plugin 运行的java应用程序中调用System.setProperty
,将睡眠时间定义为上一个模块中的JVM属性。
我最初的想法是在这个模块中运行调用Thread.sleep
的java程序,但它似乎不会影响maven的执行。我猜 exec-maven-plugin 在单独的线程中运行程序。
如何暂停maven执行一段时间,这是作为JVM参数提供的?
答案 0 :(得分:0)
以下是我找到的解决方案:
而不是Java类,我使用 maven-antrun-plugin 来暂停模块内的执行
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>wait</id>
<phase>integration-test</phase>
<configuration>
<target>
<sleep seconds="${duration}" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>