jcw*_*jcw 4 parameters plugins map maven
我正在使用maven 3,我想传入一个类型Map作为参数.
我现在在我的魔力中有这个:
/**
* @parameter expression="${rep.env}" alias="environments"
* @required
*/
private Map<String,String[]> environments = null;
Run Code Online (Sandbox Code Playgroud)
我在配置期间传递了这个:
<environments>
<Testing>
<param>
unit
</param>
</Testing>
</environments>
Run Code Online (Sandbox Code Playgroud)
它抱怨它缺少参数环境,您是否允许在maven中执行此操作?
您是否尝试删除该alias="environments"
属性?
另一点是,我不确定Maven是否允许您设置Map String[]
作为键.我认为它只会处理Map<String, String>
(这里的页面只显示一个基本的Map示例).
最后,你可以做的是允许逗号分隔值而不是String[]
:
<configuration>
<environments>
<one>a,b,c</one>
<two>d</two>
</environments>
</configuration>
Run Code Online (Sandbox Code Playgroud)
然后,当你必须处理你的值时,你只需将你的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"};
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3014 次 |
最近记录: |