为什么我的Maven Mojo在单独运行时会丢失其配置属性?

时间:2011-07-03 03:18:27

标签: maven-2 maven-plugin jasmine

outstanding issue中有一个jasmine-maven-plugin,我无法理解。

欢迎你自己尝试一下,但要点是当一个人跑:

mvn jasmine:test

在Mojo bean上没有设置插件的pom.xml中配置的属性。

经过检查,很明显bean上的每个属性都回落到默认值。但是,当您运行测试阶段本身(jasmine:test绑定)时,如:

mvn test

工作正常。

有什么想法吗? TestMojo顶部的序言如下:

/**
 * @component
 * @goal test
 * @phase test
 * @execute lifecycle="jasmine-lifecycle" phase="process-test-resources"
 */

更新:现在我更加困惑了。在进一步阅读时,似乎这种行为确实出乎意料,因为我看到的配置缺失是在插件正下方的<configuration>元素中完成的,而不是<execution/>下每{{3} }}:

  

注意:标记内的配置与外部的配置不同,因为它们不能从直接命令行调用中使用。相反,它们仅在调用它们绑定的生命周期阶段时应用。或者,如果您将配置部分移到执行部分之外,它将全局应用于插件的所有调用。

1 个答案:

答案 0 :(得分:5)

当然,我是个白痴。我正在查看错误的POM,确定配置在<execution>块内。

所以我会尝试用大胆的字母回答我自己的问题来提供Google:

当您从命令行调用Maven目标时,如果该配置是直接在<plugin/>元素下进行的,而不是在任何{{1下},那么它将仅获取pom.xml的配置元素元素。

相关问题