内部のMaven 3プラグイン用のplugin.xmlメタデータファイルを作成しようとしています。 maven-plugin-pluginは、トップレベルのパラメタのメタデータを生成する優れた仕事をしますが、必須のプロパティなどのパラメータとして使用される複雑なオブジェクトの設定要件を検出して表現することはできません。コレクションおよび複合オブジェクトのmaven plugin.xmlパラメータメタデータを指定できません
@Mojo(name = "feature")
public class FeatureMojo extends AbstractMojo {
@Parameter(required = true)
private List<Feature> features;
@Parameter(required = true)
private Feature feature;
}
public class Feature {
@Parameter(required = true)
private String name;
}
現在のplugin.xmlの出力は次のようになります。
<parameter>
<name>feature</name>
<type>local.example.mojo.Feature</type>
<required>true</required>
<editable>true</editable>
<description></description>
</parameter>
<parameter>
<name>features</name>
<type>java.util.List</type>
<required>true</required>
<editable>true</editable>
<description></description>
</parameter>
は、この制限を回避する方法はありますか?
plugin.xmlをプラグイン記述子で表現することができ、これが単なるジェネレータの制限である場合は、手作業でplugin.xmlを生成することに悪影響がありません。
十分に、これは残念な制限です。おそらく私はそれを調べるでしょう。 nakeのフィーチャーリファレンスは、どちらのメソッドも期待した結果を生み出していないことを示すだけでした。 –
改善の余地はしばしばありますが、フィーチャがパラメータであるためパラメータアノテーションで解決されるとは思われません。名前はパラメータではなく、このインスタンスのフィールドです。 –