是否可以在Maven插件中使用XML属性';s配置块?

是否可以在Maven插件中使用XML属性';s配置块?,maven,maven-plugin,Maven,Maven Plugin,我想使用Maven插件,作为其配置的一部分(将映射到mojo字段),我想在一些标记上提供XML属性。不幸的是,没有提到在配置块中使用属性(这可能意味着不可能,也可能不意味着根本不可能) 我想要的是: <plugin> <configuration> <my_option attr="x" /> <!-- is this possible? --> </configuration> </plugin> 这

我想使用Maven插件,作为其配置的一部分(将映射到mojo字段),我想在一些标记上提供XML属性。不幸的是,没有提到在配置块中使用属性(这可能意味着不可能,也可能不意味着根本不可能)

我想要的是:

<plugin>
  <configuration>
    <my_option attr="x" /> <!-- is this possible? -->
  </configuration>
</plugin>


这可能吗?如果是这样,这将如何映射到我的魔咒中的一个字段。Maven不支持属性。但是,您可以使用字符串映射等等。例如,看看编译器插件如何处理编译器参数,或者Android Maven插件(您正在使用)如何处理dex mojo配置中的JVM参数。

我知道我回答这个问题晚了,但我认为答案不同。毕竟,工作方式完全符合OP的要求;看看
target
如何提供可以在
ant
构建文件中使用的任何XML

它在mojo中通过使用类型
PlexusConfiguration
声明该参数来完成, 看

PlexusConfiguration
不扩展任何众所周知的XML API,例如DOM,而且它似乎不支持名称空间、PI等,但它有基本的
getChildren
/
getAttributeNames
/
getAttribute
方法,这些方法在大多数情况下都是您想要的


我不知道是否有办法做到这一点,但就Plexus API而言,文档确实说“这些API将永远得到支持,或者至少直到Maven完全放弃对Maven 2的支持。”

谢谢Manfred;我最终创建了一个保存配置的POJO。我希望它类似于用于定义清单中相同设置的语法,但据我所知,这些方法中的任何一种都不可能实现。我相信这个答案并不完整,事实上,如果mojo的参数具有type
PlexusConfiguration
(详见下文@chapman flack的回答)关于这方面的更多信息,这里可能有一些线索:这里:如果maven开发人员将XML属性合并到pom设计中,这将是非常有益的。不幸的是,不这样做的结果是冗长的。对于我的插件,我需要配置一些键不是有效的XML标记的映射,因此我被迫加入以一种更加冗长的
keyvalue
风格。从
开始的东西一直是一团糟。