我有以下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>
答案 0 :(得分:1)
我已经根据你的帖子检查了这个蚂蚁脚本:
<?xml version="1.0" encoding="UTF-8"?>
<project default="test_arg_path" basedir=".">
<property file="props.properties"/>
<target name="test_arg_path">
<java dir=".\build\classes" classname="Test">
<!-- <arg value="${argValue}"/>--> <!-- First variant -->
<arg line="releaseDir=${argValue} arg2Value" /> <!-- Second variant -->
</java>
</target>
</project>
属性文件 props.properties :
argValue=argVal
测试 类来源:
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]);
}
}
}
第一个变体的输出(使用arg值):
class Test,arg0:argVal
第二个变体的输出(使用arg行):
class Test,arg0:releaseDir = argVal
class Test,arg1:arg2Value
正如您所看到的,您的脚本一切正常,而且它是正确的。我认为,问题在于变量merged.folder