【问题标题】:Maven - add custom phase to execute plugin with other configurationMaven - 添加自定义阶段以使用其他配置执行插件
【发布时间】:2010-06-27 10:40:39
【问题描述】:

我在一个 Maven 项目中有两组集成测试——自动测试和手动测试。手动测试很少但很乏味——它们需要拔掉服务器等的插头。我想为手动测试创建一个单独的目标,所以我可以运行类似mvn manualtests 的东西来运行手动测试。如果你只是运行一个普通的 maven 构建 mvn install 左右,应该运行自动测试。

我已经使用 TestNG 注释 @Test(groups="manual" 对手动测试进行了注释。现在的目标是有两种配置的surefire插件,一种运行绑定到构建测试阶段的自动测试,另一种运行绑定到另一个自定义阶段的手动测试,我想称之为@987654324 @。似乎不可能将插件的执行绑定到一个不存在的阶段(即一个不是由 maven 预定义的阶段)。不能定义自己的阶段吗?

【问题讨论】:

    标签: maven-2 testng phase


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      这应该是可能的,虽然并不容易。第一步:看看默认是怎么做的。

      使用这个依赖:

      <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-core</artifactId>
          <version>${maven.version}</version>
      </dependency>
      

      获取源代码并查看 META-INF/plexus 中的 components.xml。在那里,定义了默认阶段和默认生命周期/阶段绑定。

      创建一个覆盖这些默认阶段的插件(在它自己的 components.xml 中)和define it as an extension

      【讨论】:

      • 一点都不容易……也许可以制作一个插件,根据插件配置动态添加生命周期。我会调查的。
      • @AlexanderTorstling 你有没有设法找到/创建这样的插件?
      猜你喜欢
      • 2011-04-14
      • 1970-01-01
      • 2011-09-16
      • 2014-03-29
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-19
      相关资源
      最近更新 更多