0

我是蚂蚁构建的新手。我正在尝试验证命令行参数。以下是我的代码:

用于接收 args 的 build.xml 片段:

<target name="run" depends="jar">
        <java jar="${BUILD}/jar/cmdBuildEx.jar"  fork="true">
            <arg value="${arg0}"/> <!-- input file -->
            <arg value="${arg1}"/> <!-- modify file -->
            <arg value="${arg2}"/> <!-- output file 1 -->
            <arg value="${arg3}"/> <!-- output file 2 -->
            <arg value="${arg4}"/> <!-- output file 3 -->
            <arg value="${arg5}"/> <!-- error file -->
            <arg value="${arg6}"/> <!-- debug value -->
        </java>
    </target>

这是我的验证条件:

if ((args.length != 7) || (args[0].equals("${arg0}")) || (args[1].equals("${arg1}")) || (args[2].equals("${arg2}")) || (args[3].equals("${arg3}")) || (args[4].equals("${arg4}")) || (args[5].equals("${arg5}")) || (args[6].equals("${arg6}"))) {
                System.err.printf("Error: Incorrect number of arguments. Program accepts %d arguments.", REQUIRED_NUMBER_OF_CMDLINE_ARGS);
                System.out.println();
                System.err.println("Args found:"+args.length);
                System.exit(0);
            }

每当我在 cmd 行中给出超过 7 个参数时,它不会抛出任何错误,而是执行我的代码。我不明白我在哪里犯错。任何人都可以帮忙吗?

4

0 回答 0