我在Eclipse中有一个Java应用程序项目,可执行文件接收参数。然后,应用程序在文件中输出结果值。我希望在运行许多不同的参数后,比较这些结果。
如果我可以做这样的事情,比如在命令提示符下,那就完美了:
run MyProgram --a hi --b 200
run MyProgram --a hello --b 333
...
run MyProgram --a something --b 10000
如何使用Eclipse IDE执行此操作?
如果我无法通过IDE进行操作,那么手动执行此操作的最佳方式是什么(如.bat文件)?
答案 0 :(得分:0)
基本上,它很简单。 点击运行 - >运行配置 单击Arguments选项卡。 您希望在“程序参数”窗口中键入所有输入值,每个值之间都有空格(空白字符)。 然后只需单击Apply,然后单击Run。
答案 1 :(得分:0)
转到运行配置,参数选项卡 - >在程序参数文本框中 - >输入空格分隔值以发送参数。
如果您想在每次启动时动态传递值而不想打开运行配置,请单击变量按钮并选择string_prompt。并提供变量名称,如下所示 -
${string_prompt: varName1}
${string_prompt: varName2}.
因此,您将弹出一个对话框,要求您输入输入值。
更好的方法 将所有输入值放在txt文件中,逐行读取输入文件并运行逻辑并比较结果。这会让你的生活更轻松。
希望这有帮助。
答案 2 :(得分:0)
最好使用脚本使用不同的参数多次运行程序。按照以下步骤实现此目的。
我有一个java程序,它接受一个输入参数。以下是代码
package org.stackoverflow;
public class Testing {
public static void main(String[] args) {
String inputString = args[0];
System.out.println("inputString:" + inputString);
}
}
我准备了一个 .bat 文件(TestingJavaProgramming.bat),使用不同的参数一次又一次地运行该程序,并在将结果打印到控制台后将结果写入.txt文件。
TestingJavaProgramming.bat文件内容
cd D:\All_POCs\WorkSpace\TestCoreJava\src
javac org\stackoverflow\Testing.java
java org.stackoverflow.Testing "This is 1st time testing">>result.txt
java org.stackoverflow.Testing "This is 2nd time testing">>result.txt
type result.txt
执行批处理文件后的输出
D:\>TestingJavaProgramming.bat
D:\>cd D:\All_POCs\WorkSpace\TestCoreJava\src
D:\All_POCs\WorkSpace\TestCoreJava\src>javac org\stackoverflow\Testing.java
D:\All_POCs\WorkSpace\TestCoreJava\src>java org.stackoverflow.Testing "This is 1st time testing" 1>>result.txt
D:\All_POCs\WorkSpace\TestCoreJava\src>java org.stackoverflow.Testing "This is 2nd time testing" 1>>result.txt
D:\All_POCs\WorkSpace\TestCoreJava\src>type result.txt
inputString:This is 1st time testing
inputString:This is 2nd time testing
您还可以在result.txt文件中看到输出。希望我的提示可以帮到您。