不。
您不能以这种方式传递将在构建文件中使用的参数。将ant bootstrap arg1 arg2 arg3
在您尝试调用以下目标时解决bootstrap
,arg1
, arg2
, arg3
-- 显然,只有目标bootstrap
存在。
如果您确实想传递将在构建文件中使用的参数,则需要使用该-DpropertyName=value
格式。例如:
ant bootstrap -Darg1=value1 -Darg2=value2 -Darg3=value3
对于其他方式,您可以在构建文件中编写嵌入脚本(如 beanshell 或 javascript,带有 ant 的脚本支持库)以首先处理参数。例如,您可以通过这种方式传递参数:
ant bootstrap -Dargs=value1,value2,value3,...
现在您有一个名为args
“value1,value2,value3,...”的属性(对于...我的意思是用户可以输入超过 3 个值)。您可以使用 beanshell 拆分args
toarg1
和by arg2
,还可以进行一些检查...arg3
,
<script language="beanshell" classpathref="classpath-that-includes-the-beanshell-lib">
String[] args = project.getProperty("args").split(",");
project.setUserProperty("arg1", args[0].trim());
project.setUserProperty("arg2", args[1].trim());
project.setUserProperty("arg3", args[2].trim());
</script>