Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在一个pom.xml中运行两个gmaven脚本?_Maven_Gmaven Plugin - Fatal编程技术网

如何在一个pom.xml中运行两个gmaven脚本?

如何在一个pom.xml中运行两个gmaven脚本?,maven,gmaven-plugin,Maven,Gmaven Plugin,我想从maven运行两个脚本,其中一个取决于环境变量。我正在尝试这样的事情: <build> <plugins> <plugin> <groupId>org.codehaus.groovy.maven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.0</version> <

我想从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>

org.codehaus.groovy.maven


我是maven的新手,所以不太可能有一个简单的解决方案,但我没有看到它。

我找到了答案。每次执行都必须有一个唯一的ID。如果不指定ID,则两者都将获得“默认值”。一旦我给了有条件的一个非默认ID,它们都会运行

<build>
 <plugins>
  <plugin>
    ...
    <executions>
      <execution>
        <id>Unconditional-script</id>
        ...
      </execution>
    </executions>
  </plugin>
</build>

...

<profile>
  ...
  <build>
    <plugins>
      <plugin>
        ...
        <executions>
          <execution>
            <id>Conditional-script</id>
            ...
          </execution>
        </executions>
      </plugin>          
    </plugins>
  </build>
</profile>

...
无条件脚本
...
...
...
...
条件脚本
...