如何为 Maven 插件配置具有多个值的参数的默认值
我正在编写一个 Maven 插件,并且对所有参数使用默认值,如下所示:
/**
* The file with the site structure.
*
* @parameter expression="${generateSite.siteFile}" default-value="${basedir}/src/oda/site.xml"
*/
private File siteFile;
现在我添加一个新参数,它是一个集合。有没有一种方法可以为参数设置默认值,如下所示?
/**
* A list of file/directory names to exclude in the processing.
*
* @parameter ????
*/
private Set<String> excludes;
I'm writing a Maven plugin and I am using default values for all parameters such as this:
/**
* The file with the site structure.
*
* @parameter expression="${generateSite.siteFile}" default-value="${basedir}/src/oda/site.xml"
*/
private File siteFile;
Now I am adding a new parameter which is a collection. Is there a way to set default values for a parameter like the following one?
/**
* A list of file/directory names to exclude in the processing.
*
* @parameter ????
*/
private Set<String> excludes;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
据我所知,这实际上是不可能的,没有真正的方法可以为具有多个值的参数类型(如数组、集合或映射)指定默认值,位于至少不作为
参数
。我过去也必须这样做,并且阅读了像 array (或collecton)这样的线程作为默认值mojo 配置参数 或将列表配置为插件参数的默认值,我结束了在execute()
方法中设置默认值,就像 Chris 在 他的答案(例如,参见flexmojos:wrapper 插件 来源 和 参数 参数)。To my knowledge, this is actually not possible, there is no real way to specify default values for Parameter Types With Multiple Values (like Arrays, Collections, or Maps), at least not as
parameter
. I had to do this in the past too and, having read threads like array (or collecton) as a default-value of a mojo configuration parameter or configuring a list as default value for a plugin parameter, I ended up setting defaults in theexecute()
method, like Chris mentioned in a comment to his answer (see for example the flexmojos:wrapper plugin sources and the parameters parameter).我不认为 Set 是明确支持的,但以下方法可以工作:
然后您可以使用以下方式配置它:
顺便说一句,这是取自 具有多个值的参数类型 部分 此页面,其中还详细介绍了允许参数具有多个值的其他方法。
I don't think that Set is explicitly supported but the following will work:
You can then configure it using:
BTW this was taken from the Parameter Types With Multiple Values section on this page which also details other ways to allow parameters with multiple values.