我有以下代码来构建我的 java 命令并运行进程构建器。
String runCommand[] = {"java", ExerciseSelected + " " + Input};
runpb = new ProcessBuilder(runCommand);
Process runp = runpb.start();
输入是由空格分隔的输入字符串。目前我有一个 100 的输入,我将它传递给我的 java 程序。
运行它时,它返回“无法找到或加载主类练习 100”
现在我查看了另一篇 StackOverflow 文章,它解释了如何创建 java 命令调用。对 processbuilder 的命令调用如下所示
java练习100
如果我转到我的 java 应用程序文件夹并对相同的 Exercise.class 运行相同的调用,它可以在命令提示符下工作。但它不适用于 ProcessBuilder。
我试图用引号将 100 括起来,但这也不起作用。是否有可能我在整理这个命令时遗漏了什么?
你正在有效地尝试跑步
java "Exercise 100"
您需要两个参数:“Exercise”和“100”,因此您应该将它们作为数组中的不同元素:
String[] runCommand = { "java", exerciseSelected, input };
请注意,如果input
实际上是“1 2 3”,这将等效于运行:
java Exercise "1 2 3"
这仍然可能不是您想要的。您可能想先按input
空格分割。
(我已将变量名称和 的位置调整[]
为更惯用。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句