我想从 maven 运行两个脚本,其中一个取决于环境变量。我正在尝试这样的事情:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
println "My script"
</source>
</configuration>
</execution>
</executions>
</plugin>
</build>
...
<profile>
<activation>
<property>
<name>env.MY_ENV_VAR</name>
<value>runStuff</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
println "My conditional script"
</source>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
当我运行“mvn validate”来测试它时,我得到了“我的脚本”。当我设置 env 变量并再次运行它时,我得到“我的条件脚本”而不是“我的脚本”。似乎如果满足条件并且第二个运行,则第一个不会。
我想无条件地运行第一个,只有在设置了 env 变量时才运行第二个。根据这个问题,我想过检查脚本本身中的 env 变量,但这似乎也有问题。
我是 maven 的新手,所以不太可能有一个简单的解决方案,但我没有看到它。