如何为maven插件配置具有多个值的参数的默认值

eoigrqb6  于 2021-07-05  发布在  Java
关注(0)|答案(2)|浏览(353)

我正在编写一个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;
wnrlj8wa

wnrlj8wa1#

我不认为该集合是明确支持的,但以下内容将起作用:

/**
 * A list of file/directory names to exclude in the processing.
 *
 * @parameter
 */
private String[] myFiles;

然后,您可以使用以下方法进行配置:

<myFiles>
  <param>value1</param>
  <param>value2</param>
</myFiles>

顺便说一句,这是从参数类型与多个值一节在这页上还详细说明了其他方法,允许参数与多个值。

ufj5ltwl

ufj5ltwl2#

据我所知,这实际上是不可能的,没有真正的方法来为具有多个值(如数组、集合或Map)的参数类型指定默认值,至少不是这样 parameter . 在过去我也必须这样做,在读取了数组(或collecton)之类的线程作为mojo配置参数的默认值,或者将列表配置为插件参数的默认值之后,我最终在 execute() 方法,就像chris在对他的答案的评论中提到的(参见示例)flexmojos:wrapper plugin 源和参数)。

相关问题