requiredProperty
我有一个使用包含数字的 Maven 架构类型,但速度变量是字符串。因此,在我的模板中,我无法测试此属性是否大于数字:
#if( $myVar gt 5 )
我已经测试了以下解决方案但没有成功。
我也试过这个:
#set( $intVar = Integer.parseInt($myVar) )
这在原型生成中也是失败的。
有什么建议吗?
requiredProperty
我有一个使用包含数字的 Maven 架构类型,但速度变量是字符串。因此,在我的模板中,我无法测试此属性是否大于数字:
#if( $myVar gt 5 )
我已经测试了以下解决方案但没有成功。
我也试过这个:
#set( $intVar = Integer.parseInt($myVar) )
这在原型生成中也是失败的。
有什么建议吗?
您无法从 Velociy 引用类,因此Integer.parseInt
无法使用。但是,由于在 Java 中任何静态方法都可以作为实例方法调用,而 Velocity 只是 Java 的伪装,因此您可以调用parseInt
任何整数。所以你可以试试这个技巧:
#if ($myVar.length().parseInt($myVar) gt 5)
你从你假设你拥有的一个变量开始获取一个整数,$myVar
.
我已经基于原型描述符中提供的正则表达式实现了用户输入验证:
https://issues.apache.org/jira/browse/ARCHETYPE-487
希望它将为未来版本的 Maven 原型插件解决这个问题。