Во время разработки (и для отладки) очень полезно запускать метод public static void main (String [] argv) класса Java непосредственно из Eclipse (используя контекстное меню «Запуск от имени»).
Есть ли аналогичный быстрый способ указать параметры командной строки для запуска? Что я сейчас делаю, так это перехожу в «Диалог запуска», щелкаю по различным настройкам до вкладки, где я могу указать виртуальную машину и аргументы программы и ввести их там. Слишком много шагов, плюс я не хочу смешивать более постоянные параметры конфигурации среды выполнения с параметрами одноразового вызова. Вместо этого я хочу поставить где-нибудь флажок (или создать отдельный пункт меню «Запускать как Java-приложение с командной строкой»), а затем каждый раз запрашивать командную строку (с хорошей историей).




AFAIK в Eclipse нет встроенного механизма для этого.
Самое близкое, что вы можете сделать, - это создать оболочку, которая запрашивает эти значения и вызывает (жестко запрограммированный) main. Затем вы получаете историю выполнения, если не очищаете завершенные процессы. Есть два варианта: либо использовать JUNit, либо использовать инъекцию или параметр, чтобы ваша оболочка всегда подключалась к правильному классу для своего main.
Я не уверен, что вы используете, но мне удобно, что обычно я использую не более нескольких параметров командной строки, поэтому каждый из этих сценариев получает одну конфигурацию запуска, и я просто выбираю тот, который мне нужен, из истории запусков.
Предлагаемая вами функция кажется излишней, ИМО.
Uri неверен, есть способ напрямую добавить параметры в основной метод в Eclipse, однако параметры не будут очень гибкими (разрешены некоторые динамические параметры). Вот что вам нужно сделать:
Run -> Run configurations...Java Application или введите его имя в поле фильтра.Program arguments. На всякий случай, если это непонятно, они разделены пробелами, поэтому "a b c" (без кавычек) будет означать, что вы передадите аргументы a, b и c вашей программе.Однако я рекомендую использовать класс JUnit / wrapper, как сказал Ури, поскольку таким образом вы получаете гораздо лучший контроль над фактическими параметрами, чем при этом.
Я думаю, что Тило / Ури говорят о простом способе сделать это без, включая вхождение в диалоговое окно «Выполнить» - как говорится в его вопросе.
Мне пришлось процитировать аргумент имени файла, потому что в нем были пробелы. Спасибо
Еще одна идея:
Поместите все свои параметры в файл свойств (один параметр = одно свойство в этом файле), затем загрузите этот файл в свой основной метод (используя Properties.load(*fileInputStream*)).
Поэтому, если вы хотите изменить один аргумент, вам просто нужно отредактировать файл args.properties и запустить приложение без дополнительных действий ...
Конечно, это только для целей разработки, но может быть действительно полезно, если вам нужно часто менять свои аргументы ...
Этот ответ основан на Eclipse 3.4, но должен работать в более старых версиях Eclipse.
При выборе «Запуск от имени ...» перейдите в настройки запуска.
На вкладке «Аргументы» конфигурации запуска Java настройте отображение переменной $ {string_prompt} (вы можете щелкнуть переменные, чтобы получить ее, или скопируйте, чтобы установить напрямую).
Каждый раз, когда вы используете эту конфигурацию запуска (назовите ее хорошо, чтобы иметь ее на потом), вам будет предложено ввести аргументы командной строки.
Если в строковом аргументе есть пробелы, сделайте следующее:
Выполнить> Выполнить конфигурации> Приложение Java> Аргументы> Аргументы программы
Как говорит Ури, я не думаю, что это возможно, но это было бы действительно круто. Мне также очень не нравится заполнять диалоговое окно запуска.