Как настроить значения по умолчанию для параметра с несколькими значениями для плагина Maven - PullRequest
9 голосов
/ 02 ноября 2009

Я пишу плагин 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;

Ответы [ 2 ]

8 голосов
/ 03 ноября 2009

До мои знания , это на самом деле невозможно, нет реального способа указать значения по умолчанию для Типы параметров с несколькими значениями (например, массивы, коллекции или карты), по крайней мере, не как parameter. Мне приходилось делать это и раньше, и, прочитав темы типа array (или collecton) в качестве значения по умолчанию для параметра конфигурации mojo или , настроил список в качестве значения по умолчанию для параметра плагина , в итоге я установил значения по умолчанию в методе execute(), как Крис упомянул в комментарии к его ответу (см., Например, flexmojos: wrapper plugin sources и параметры параметр).

0 голосов
/ 02 ноября 2009

Я не думаю, что Set явно поддерживается, но будет работать следующее:

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

Затем вы можете настроить его, используя:

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

Кстати, это было взято из раздела Типы параметров с несколькими значениями на этой странице , который также детализирует другие способы разрешения параметров с несколькими значениями.

...