2015-03-30 2 views
0

У меня есть проект Java-приложения в Eclipse, и исполняемый файл получает параметры. Затем приложение выводит значение результата в файл. Я хочу, после запуска с множеством различных параметров, сравнить эти результаты.Как запустить мою программу с множеством разных аргументов в Eclipse

Если бы я мог сделать что-то подобное, как в командной строке, было бы идеально:

run MyProgram --a hi --b 200 
run MyProgram --a hello --b 333 
... 
run MyProgram --a something --b 10000 

Как я могу сделать это с помощью Eclipse IDE?

Если я не могу сделать это с помощью средств IDE, каким будет лучший способ сделать это вручную (например, с .bat-файлом)?

+1

В конфигурации запуска у вас должна быть опция для аргументов программы (как вкладка в LUNA) – StackFlowed

+0

Но могу ли я настроить ее для запуска, например, со 100 различными входными параметрами один за другим автоматически, или мне придется поставить первый, затем запустить, увидеть результат, перейти ко второму, запустить ... и затем перейти; для меня это было бы нецелесообразным, если бы оно было последним. –

+1

Вы можете настроить несколько конфигураций запуска, IIRC, но я не думаю, что вы можете запускать их все сразу. Лично, если это требование, я бы, вероятно, изменил код, чтобы при необходимости принять аргументы из файла, например, один набор аргументов в строке или что-то подобное. –

ответ

0

В принципе, это просто. Нажмите «Run» -> «Run Configurations» Перейдите на вкладку «Аргументы». Вы хотите ввести все ваши входные значения в окно параметров программы, пробелы (пробелы) между каждым значением. Затем нажмите «Применить», а затем «Выполнить».

0

Перейти в конфигурацию запуска, вкладка «Аргументы» -> в текстовом поле «аргументы программы» -> введите разделимые значения пространства для отправки аргументов.

Если вы хотите динамически передавать значения при каждом запуске и не хотите открывать конфигурацию запуска, затем нажмите кнопку «Переменные» и выберите «string_prompt». И предоставить имя переменной следующим образом -

${string_prompt: varName1} 
${string_prompt: varName2}. 

Так вы будете выскочило диалоговое окно с просьбой ввести входные значения.

Лучше подход бы поставить все входные значения в текстовом файле, читать входной файл построчно и запустить логику и сравнить результаты. Это облегчит вашу жизнь.

Надеюсь, это поможет.

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), чтобы запустить эту программу снова и снова с разным параметром и записать результат в текстовый файл после печати результата в консоль.

содержание 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 file.Hope мои советы будут помочь тебе.

Смежные вопросы