Аргумент командной строки java

Я пытаюсь установить аргументы командной строки в проекте Netbeans 7.1 Java на 64-разрядной версии Windows 7.

Netbeans не передает аргументы, которые я им даю.

Перейдите к Project → Properties → Run → и введите аргументы рядом с "Аргументы", однако аргументы не передаются программе. Как передать их?

Я предполагаю, что вы запускаете файл, используя Run | Run File (или shift-F6), а не Run | Run Main Project . Файл справки NetBeans 7.1 (F1 — ваш друг!) Для параметра Arguments:

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

Я проверил это с небольшим фрагментом кода:

Я установил Run → Arguments в x y z . Когда я запускал файл сам по себе, я не получил выход. Когда я запускал проект, выход был:

Шаг (1): создайте java-код, который может принимать аргумент как аргумент командной строки.

Шаг (2): В NetBeans (im using 7.3) в нижнем окне "Выход" нажмите желтую кнопку (повторите запуск с другим параметром). Это откроет новое окно (запустите Ant Target Window).

стадия (3): Если аргумент, который вам нужно передать, это "testArgument", то здесь в этом окне передайте аргумент как application.args = testArgument

Это даст результат следующим образом в том же окне вывода:

первый аргумент: testArgument

Для проекта Maven с использованием NetBeans 8.x:

  • Нажмите Запустить → Установить конфигурацию проекта → Настроить
  • Выберите Действия
  • Выберите Запустить файл через main()
  • Задайте пару имя/значение, чтобы включить аргументы.
  • Нажмите ОК

Пример пары имя/значение может напоминать:

Затем запустите проект:

  • Откройте и сфокусируйте класс Java, который включает main(. ) .
  • Нажмите F6 , чтобы запустить программу.

Параметры командной строки должны появиться в окне "Запуск".

Читайте также:  Nokia 206 ошибка создания защищенного подключения

Обратите внимание, что для получения формы значения с программой используйте System.getProperty() .

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

Если это проект Maven, то Netbeans запускает ваше приложение с помощью плагина exec-maven, поэтому вам нужно добавить свои параметры в существующее свойство exec.args , найденное в диалоговом окне Run Maven. Этот диалог можно получить из окна "Вывод", нажав на значок желтой двойной стрелки.

В среде NetBeans IDE 8.0 вы можете использовать плагин, добавленный сообществом https://github.com/tusharvjoshi/nbrunwithargs, который позволит вам передавать аргументы во время выполнения проекта или запуска Single Файл.

Для передачи аргументов в команду "Запустить проект" необходимо либо установить аргументы в панели "Запуск проекта", либо использовать новую команду, доступную после установки плагина, который говорит "Запустить с аргументами"

Для передачи аргументов командной строки в файл Java, имеющий основной метод, просто щелкните правой кнопкой мыши на этом методе и выберите команду "Запустить с помощью аргументов" этого плагина

UPDATE (24 марта 2014 г.) Этот плагин теперь доступен в портале плагинов NetBeans, что означает, что он может быть установлен из диалогового окна "Плагины" из доступных плагинов, показанных из плагинов, внесенных сообществом, в NetBeans IDE 8.0

Я пытаюсь определить, был ли введен "a" в качестве первого строкового аргумента.

java command-line arguments

9 ответов

31 Решение Björn [2009-04-04 03:16:00]

Используйте apache commons cli, если вы планируете продлить это за один аргумент.

"Библиотека CLI Apache Commons предоставляет API для анализа параметров командной строки, передаваемых программам, а также позволяет печатать справочные сообщения с подробными параметрами, доступными для инструмента командной строки".

Читайте также:  Gtx 970 sli vs gtx 1080

Commons CLI поддерживает различные типы параметров:

  • Параметры, подобные POSIX (например, tar -zxvf foo.tar.gz)
  • GNU как длинные параметры (т.е. du —human-readable —max-depth = 1)
  • Свойства, подобные Java (например, java -Djava.awt.headless = true -Djava.net.useSystemProxies = true Foo)
  • Короткие опции со значением (gcc -O2 foo.c)
  • длинные опции с одним дефем (т.е. ant -projecthelp)

Каждая программа Java начинается с

Этот массив типа String , который main() принимает в качестве параметра, содержит аргументы командной строки для вашей программы. Если пользователь запускает вашу программу как

то args[0] будет содержать строку "a".

5 Rob [2009-04-04 03:17:00]

Аргументы командной строки передаются в первом параметре String[] на main() , например.

В приведенном выше примере args содержит все аргументы командной строки.

Короткий, сладкий ответ на поставленный вопрос:

Аргументы командной строки доступны с помощью параметра String[] args метода main .

Для первого аргумента вы можете проверить args[0]

весь код будет выглядеть как

Ваш метод main имеет аргумент String[] . Это содержит аргументы, которые были переданы вашим приложениям (он часто называется args , но это не является обязательным требованием).

Попробуйте передать значение a и сравните с помощью метода equals следующим образом:

Перейдите по этой ссылке, чтобы узнать больше о Аргумент командной строки в Java

0 TofuBeer [2009-04-04 03:56:00]

Как все сказали. метод .equals — это то, что вам нужно.

В случайном случае вы использовали что-то вроде:

то это не работает, потому что == сравнивает расположение двух объектов (физическое равенство), а не содержимое (логическое равенство).

Так как "a" из командной строки и "a" в источнике для вашей программы выделены в двух разных местах, то использовать == нельзя. Вы должны использовать метод equals, который будет проверять, чтобы обе строки имели одинаковые символы.

Читайте также:  Nvidia geforce 7025 driver

Другое примечание. "a" == "a" будет работать во многих случаях, потому что Strings являются специальными в Java, но 99.99999999999999% времени, которое вы хотите использовать .equals.

0 Hanlak [2016-12-18 20:44:00]

Аргументы командной строки сохраняются как строки в массиве String String[] args that is passed to main() `.

Аргументы командной строки — это входы, которые принимают из командной строки во время запуска программы. Пропускаемые аргументы могут быть любыми. Что хранится в массиве args[] .

На вход программы можно передавать значения, это делается с помощью аргументов командной строки. Допустим, нам необходимо запустить программу MySecondApp и передать на вход значения "значение1" и "значение2". Из командной строки пишем следующую строчку:

Как получить переданные значения в программе? Давайте более детально рассмотрим метод main :

Этот метод принимает на вход в качестве параметра массив типа String : String[] args . Именно эта переменная и будет содержать в себе, переданные нами значения "значение1", "значение2".

Метод main() в следующем примере использует цикл for для перебора элементов массива args и распечатывает значения аргументов командной строки. Что такое цикл for и массивы мы рассмотрим более подробно в следующих занятиях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *