Я пытаюсь установить аргументы командной строки в проекте 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 , чтобы запустить программу.
Параметры командной строки должны появиться в окне "Запуск".
Обратите внимание, что для получения формы значения с программой используйте 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 для анализа параметров командной строки, передаваемых программам, а также позволяет печатать справочные сообщения с подробными параметрами, доступными для инструмента командной строки".
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, который будет проверять, чтобы обе строки имели одинаковые символы.
Другое примечание. "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 и массивы мы рассмотрим более подробно в следующих занятиях.