在Ant Script中传递变量给参数

  • 本文关键字:变量 参数 Ant Script ant
  • 更新时间 :
  • 英文 :


我有以下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

的值设置

相关内容

  • 没有找到相关文章

最新更新