Java Ant API Commandline.Argument类中setLine()和setValue()之间的差异?
我不明白这些方法之间的区别 以下是JavaDoc所说的: setLine(String)=要拆分为多个命令行参数的行 setValue(String)=设置单个命令行参数 我的困惑是,我看到它们在我正在更新的代码中互换使用。例如:Java Ant API Commandline.Argument类中setLine()和setValue()之间的差异?,java,command-line,ant,Java,Command Line,Ant,我不明白这些方法之间的区别 以下是JavaDoc所说的: setLine(String)=要拆分为多个命令行参数的行 setValue(String)=设置单个命令行参数 我的困惑是,我看到它们在我正在更新的代码中互换使用。例如: Commandline commandline; commandline = new Commandline(new File(jarUtilsDir,"signtool.exe").getAbsolutePath()); commandline.
Commandline commandline;
commandline = new Commandline(new File(jarUtilsDir,"signtool.exe").getAbsolutePath());
commandline.createArgument().setLine("--verbosity");
commandline.createArgument().setValue("-1");
commandline.createArgument().setLine("-o");
也许我只需要解释一下这些值应该如何使用。如果您设置的是一个没有空格的值,那没关系。但是,假设您有:
commandline.createArgument().setLine("x y");
这相当于:
commandline.createArgument().setValue("x");
commandline.createArgument().setValue("y");
鉴于
commandline.createArgument().setValue("x y");
将进行适当的引用(我相信),以便被调用的程序将其视为单个命令行参数
测试这一点的简单方法是创建一个只打印其参数的应用程序,每行一个,然后尝试两种方法:)谢谢。因此,似乎应该选择单个设置行,或多个设置值,并且我正在查看的代码不是最佳的。+1因为这是一个很好的答案,我真的想看看当达到100k时会发生什么。