[英]Having a map as a Maven plugin parameter
我正在使用 maven 3 並且我想傳入一個類型 Map 作為參數。
我現在在我的魔力中有這個:
/**
* @parameter expression="${rep.env}" alias="environments"
* @required
*/
private Map<String,String[]> environments = null;
我在配置過程中傳遞了這個:
<environments>
<Testing>
<param>
unit
</param>
</Testing>
</environments>
它抱怨它缺少參數環境,你可以在 maven 中這樣做嗎?
您是否嘗試僅刪除alias="environments"
屬性?
另一點是我不確定 Maven 是否允許您將String[]
的 Map 設置為鍵。 我認為它只會處理Map<String, String>
( 此處的頁面僅顯示基本的 Map 示例)。
最終,您可以做的是允許逗號分隔值而不是String[]
:
<configuration>
<environments>
<one>a,b,c</one>
<two>d</two>
</environments>
</configuration>
然后,當您必須處理您的值時,您只需拆分您的 String 以獲得一個 String 數組(您可以使用Apache Commons-lang StringUtils輕松做到這一點):
/**
* @parameter expression="${rep.env}"
* @required
*/
private Map<String, String> environments = null;
public void foo() {
String[] values = StringUtils.split(environments.get("one"), ',');
// values == {"a", "b", "c"};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.