Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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
Java 有条件地执行maven插件_Java_Maven 2 - Fatal编程技术网

Java 有条件地执行maven插件

Java 有条件地执行maven插件,java,maven-2,Java,Maven 2,我在pom.xml中配置了一些Maven插件。我只想在测试正在运行时执行这些插件(可以使用-Dmaven.test.skip=true或-DskipTests跳过测试) 其中一个插件绑定到过程类构建生命周期阶段,另一个绑定到预集成测试阶段。您可以使用具有以下特殊激活条件的概要文件: <project> ... <profiles> <profile> <id>my-test-plugins</id>

我在pom.xml中配置了一些Maven插件。我只想在测试正在运行时执行这些插件(可以使用
-Dmaven.test.skip=true
-DskipTests
跳过测试)


其中一个插件绑定到
过程类
构建生命周期阶段,另一个绑定到
预集成测试
阶段。

您可以使用具有以下特殊激活条件的概要文件:

<project>
  ...
  <profiles>
    <profile>
      <id>my-test-plugins</id>

      <activation>
        <property><name>!maven.test.skip</name></property>
        <property><name>!skipTests</name></property>
      </activation>
      <build>
        <plugins>

      <!-- define your plugins here -->

        </plugins>
      </build>
    </profile>
  </profiles>
</project>

...
我的测试插件

最后一个示例仅在我设置值时有效:

<property>
  <name>wsdl2java</name>
  <value>true</value>
</property>

wsdl2java
真的

感谢您提供Maven书籍的链接。除了这里所问/所答的内容之外,了解这些内容真的很有帮助。既然不适合我,我如何在不使用概要文件的情况下使用IF条件?基本上,我为整个项目设置了一组概要文件。对于一个子模块,我需要根据当前配置文件选择aspect-j插件的配置。我怎样才能用提议的模型做到这一点,不确定……这真的有效吗?看起来里面只能有一个元素。如果只有一个配置文件需要插件,这很好,但是如果我需要在两个不同的配置文件中运行同一个插件,并且我不想复制代码,那该怎么办?似乎这回答了如何有条件地激活配置文件。但这不是最初的问题。最初的问题是如何有条件地激活一个插件(概要文件中的一个插件,而不是全部),我有一个类似的情况,我希望有一个插件(tomcat7 maven插件)可以在本地开发中使用,但不能在CI构建中引用(TeamCity,只使用Artifactory repo中批准的工件)。按照@tenshi的建议,我添加了一个
profile
元素,其id=localhost server
,但排除了
激活
元素。然后,我在我的
settings.xml
中添加了一个
activeProfile
元素,以便它只在本地环境中处于活动状态。请参阅我的文章,并提供详细示例。这不是对原来问题的回答。要评论或要求作者澄清,请在他们的帖子下方留下评论——你可以随时对自己的帖子发表评论,一旦你有足够的评论,你就可以发表评论了。