我不了解这些方法之间的区别。
这是JavaDoc所说的:
setLine(String)=要拆分为几个命令行参数的行。
setValue(String)=设置单个命令行参数。
我的困惑是,我看到它们在我要更新的代码中互换使用。一个例子:
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");
会做适当的引用(我相信),以便被调用的程序将其视为单个命令行参数。
测试此问题的简单方法是创建一个仅输出其参数(每行一个)的应用程序,然后尝试两种方式:)