Maven原型需要财产编号

时间:2012-12-31 12:35:21

标签: maven velocity maven-archetype

我有一个使用包含数字的requiredProperty的Maven archtype,但是velocity变量是string。因此,在我的模板中,我无法测试此属性是否大于数字:

#if( $myVar gt 5 ) 

我测试了以下solution但没有成功。

我也试过这个:

#set( $intVar = Integer.parseInt($myVar) )

原型生成也失败了。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您无法从Velociy引用类,因此Integer.parseInt将无效。但是,因为在Java中,任何静态方法都可以作为实例方法调用,而Velocity只是伪装成Java,您可以在任何整数上调用parseInt。所以你可以尝试这个技巧:

#if ($myVar.length().parseInt($myVar) gt 5)

你从一个你假设的变量$myVar开始,得到一个整数。

答案 1 :(得分:0)

我已经根据原型描述符中提供的正则表达式实现了用户输入验证:

https://issues.apache.org/jira/browse/ARCHETYPE-487

希望它能为未来版本的maven archetype插件解决这个问题。