maven-archetype-plugin忽略"目标"配置参数

时间:2014-09-26 01:04:39

标签: maven

我需要在从原型生成项目后执行目标。 maven-archetype-plugin支持"目标"参数。我可以从命令行成功完成此操作:

mvn archetype:generate -Dgoals=foo-xyz:do-xyz

但是当我将此参数添加到原型项目中的POM文件配置时,它被完全忽略:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-archetype-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <goals>foo-xyz:do-xyz</goals>
    </configuration>
</plugin>

我想在插件上打开问题之前确保我没有做些蠢事。 &#34;目标&#34;是一个String参数。不是集合也不是数组。插件的源代码通过在逗号上拆分来创建一个数组。查看代码后,我没有看到为什么它会占用命令行值而不是配置值。我唯一可以想象的是我的配置有问题或模块中的错误除了原型的Mojo:generate。

2 个答案:

答案 0 :(得分:1)

抱歉,收回此前发布的答案。这是垃圾,没有用:(


我想,我不得不承认这个问题没有很好的解决办法。考虑一下,这是有道理的:当从CLI执行archetype:generate时,Maven使用与原型项目本身的POM完全无关的独立pom:

[INFO] ----------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ----------------------------------------

maven-archetype-plugin 执行之前很久就会发生这种情况。所以我认为原型项目POM的配置没有合理的方式可以影响archetype:generate直接使用的实际POM。

答案 1 :(得分:0)

正如@misberner所怀疑的那样,原型插件似乎忽略了原型项目中的POM设置。