我需要使用自定义类型,例如LunarDate
,在我的 Mojo 对象中:
class MyMojo extends AbstractMojo {
/** @parameter */
LunarDate lunarDate;
}
我想配置参数<configuration>
pom.xml 中的部分。
<configuration>
<lunarDate>丁丑年二月初四</lunarDate>
</configuration>
(方式LunarDate
只是一个例子来说明问题)
我已经有了类型转换器,但是如何启用它们?
DefaultBeanConfigurator
负责使用DefaultConverterLookup
,并且它直接实例化它,而不使用 Plexus 容器。
我可以假设在构建扩展中复制并修改它,但是通过注册您的副本@Component(role=BeanConfigurator.class)
可能不会有任何影响;我过去曾尝试从构建扩展中替换标准 Maven 组件,但在 maven-dev 上被告知这是不可能的。
你可以查一下默认的BeanConfigurator
并使用反射来获取它的ConverterLookup converterLookup
字段,然后调用registerConverter
使用您的自定义转换器,但这很脆弱。
也许最好的办法就是放弃,声明你的 Mojo 参数为 typeString
,并在中显式进行转换execute
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)