![]() |
1
4
您可以使用以下步骤获取当前在生成中使用的插件列表: 首先,您需要让maven将当前项目注入到您的mojo中,然后使用下面定义的类变量来获得这个结果。
然后,您可以使用以下命令获取此生成中使用的插件列表。
您可以遍历此列表,直到找到要从中提取配置的插件。 最后,您可以将配置作为xpp3dom。
注意:如果您改变了其他插件的配置(而不仅仅是提取信息),那么它将只在当前阶段而不是后续阶段保持更改。 |
![]() |
2
3
使用属性当然是一种方法,但并不理想。它仍然需要用户在pom中的多个位置定义${propertyname}。我想允许我的插件在不修改用户pom的情况下工作,除了插件定义本身。 我不认为访问另一个mojo的运行时属性是过于紧密的耦合。如果在构建层次结构的任何地方定义了另一个mojo,我希望我的mojo尊重相同的配置。 我目前的解决方案是:
这对我测试过的少数几个小版本都有效。包括多模块构建。 |
![]() |
3
0
我不知道你会怎么做,但在我看来,这可能不是最好的设计决定。如果可能的话,你应该把你的mojo从其他插件中分离出来。 相反,我建议使用自定义属性来排除单独插件配置中的任何重复。 您可以使用properties部分在POM中设置自定义属性“foo”:
属性foo现在可以在pom中的任何位置使用美元符号+花括号符号进行访问:
|