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

Jus*_*rls 1 maven-2 maven-plugin jasmine

我在jasmine-maven-plugin中遇到了一个突出的问题,我无法弄明白.

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

mvn jasmine:test
Run Code Online (Sandbox Code Playgroud)

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

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

mvn test
Run Code Online (Sandbox Code Playgroud)

它工作正常.

有任何想法吗?TestMojo顶部的序言如下:

/**
 * @component
 * @goal test
 * @phase test
 * @execute lifecycle="jasmine-lifecycle" phase="process-test-resources"
 */
Run Code Online (Sandbox Code Playgroud)

更新:现在我更加困惑.在进一步阅读,看来这种行为真的太意外了,因为这我看到他为失踪人在完成配置<configuration>元素右边的插件下,不能下<execution/>,每本文件:

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

Jus*_*rls 5

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

因此,我将尝试用大胆的字母回答我自己的问题来提供Google:

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