9

私は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;
4

2 に答える 2

8

知る限り、これは実際には不可能です。少なくとも、複数の値を持つパラメータータイプ(配列、コレクション、マップなど)のデフォルト値を指定する実際の方法はありませんparameter。私も過去にこれを行う必要があり、mojo構成パラメーターのデフォルト値としてarray(またはcollecton)のようなスレッドを読み取ったり、プラグインパラメーターのデフォルト値としてリストを構成したりして、execute()メソッドでデフォルトを設定することになりました、Chrisが彼の回答へのコメントで述べたように(たとえば、flexmojos:wrapperプラグインのソースparametersパラメーターを参照してください)。

于 2009-11-02T21:33:56.733 に答える
-1

Setが明示的にサポートされているとは思いませんが、以下は機能します。

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

次に、以下を使用して構成できます。

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

ところで、これはこのページの「複数の値を持つパラメーターの種類」セクションから取得したもので、複数の値を持つパラメーターを許可する他の方法についても詳しく説明しています。

于 2009-11-02T03:55:15.570 に答える