如何使此插件仅在非Windows平台上运行?

时间:2012-02-14 22:31:21

标签: maven

我正在使用Maven 3.0.3。对于我们的项目集成测试,我们需要使用Unix命令创建虚拟帧缓冲区。但是,当我们在Windows机器上运行我们的项目时,我们不需要这个。我们使用

        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <id>start-xvfb</id>
                    <phase>process-test-resources</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <echo message="Starting xvfb ..." />
                            <exec executable="Xvfb" spawn="true">
                                <arg value=":0.0" />
                            </exec>
                        </tasks>
                    </configuration>
                </execution>
                <execution>
                    <id>shutdown-xvfb</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <echo message="Ending xvfb ..." />
                            <exec executable="killall">
                                <arg value="Xvfb" />
                            </exec>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
        </plugin>

如果平台不是windows并且禁止运行插件,我该如何进行上述操作呢?谢谢, - 戴夫

1 个答案:

答案 0 :(得分:20)

您可以使用个人资料执行此操作。 OS设置有配置文件激活开关。插件非常智能,你可以使用否定。

<profiles>
  <profile>
    <activation>
      <os>
        <family>!windows</family>
      </os>
    </activation>
    <build>
      <plugins>
        <plugin>
          ...
        </plugin>
      </plugins>
    </build>
    ...
  </profile>
</profiles>

有关配置文件的更多信息,请参见here,以及您可以使用here的值。