的值设置
我有以下Ant命令。我需要传递一个变量{merged.folder}
到arg行。这个值来自一个属性文件。但它并没有解决这个变量。有什么办法能做到这一点。你能帮帮我吗?
<java fork="true" dir="${shrinksafe.util.path}/buildscripts" classname="org.mozilla.javascript.tools.shell.Main">
<arg line="releaseDir=${merged.folder}" />
<classpath>
<pathelement location="${shrinksafe.util.path}/shrinksafe/js.jar" />
<pathelement location="${shrinksafe.util.path}/shrinksafe/shrinksafe.jar" />
<pathelement path="${java.class.path}" />
</classpath>
</java>
我根据你的帖子检查了这个ant脚本:
<?xml version="1.0" encoding="UTF-8"?>
<project default="test_arg_path" basedir=".">
<property file="props.properties"/>
<target name="test_arg_path">
<java dir=".buildclasses" classname="Test">
<!-- <arg value="${argValue}"/>--> <!-- First variant -->
<arg line="releaseDir=${argValue} arg2Value" /> <!-- Second variant -->
</java>
</target>
</project>
属性文件 props.properties :
argValue=argVal
Test class source:
public class Test {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("args is empty");
}
System.out.println(Test.class + ", arg0: " + args[0]);
if (args.length > 1) {
System.out.println(Test.class + ", arg1: " + args[1]);
}
}
}
第一个变量的输出(使用参数值):
类Test, arg0: argVal
第二个变量的输出(使用arg line):
class Test, arg0: releaseDir=argVal
类Test, arg1: arg2Value
正如您所看到的,您的脚本一切正常,并且是正确的。我认为问题在于变量merged.folder