我有一个使用包含数字的requiredProperty
的Maven archtype,但是velocity变量是string。因此,在我的模板中,我无法测试此属性是否大于数字:
#if( $myVar gt 5 )
我测试了以下solution但没有成功。
我也试过这个:
#set( $intVar = Integer.parseInt($myVar) )
原型生成也失败了。
有什么建议吗?
答案 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插件解决这个问题。