Как передать системные свойства -D при тестировании в Eclipse?


95

Я разрабатываю Eclipse в Windows, а код развертывается в Unix. Я получаю значения системных свойств с помощью System.getProperty ("key") ... Как передать это в Eclipse, чтобы мне не пришлось изменять код, и он работал в Eclipse для отладки?

Какие-либо предложения?

Ответы:


135

Выполнить -> Выполнить конфигурации, выбрать проект, вторая вкладка: «Аргументы». Верхнее поле предназначено для вашей программы, нижнее поле - для аргументов виртуальной машины, например -Dkey=value.


1
где это, если вы пытаетесь запустить приложение для Android?
user678392

почему я должен использовать "D" в качестве префикса?
Manticore

28
Если вы такой же толстый, как я, аргументы -D помещаются в нижнее поле для аргументов виртуальной машины , а не в верхнее поле для аргументов вашей программы. /
sigh

2
Верхнее поле предназначено для String[] argsпереданного mainметоду.
jaco0646

7
Есть ли способ установить это по умолчанию, чтобы вам не приходилось вручную вводить это повторно для многих тестов?
Стюарт,

44

Вы можете использовать java System.properties, чтобы использовать их из eclipse, вы можете:

  1. Добавьте -Dlabel="label_value"аргументы теста виртуальной машины Run Configurationследующим образом:

eclipse_vm_config

  1. Затем запустите тест:

    import org.junit.Test;
    import static org.junit.Assert.assertEquals;
    
    public class Main {
        @Test
        public void test(){
            System.out.println(System.getProperty("label"));
            assertEquals("label_value", System.getProperty("label"));
        }
    }
    
  2. Наконец, он должен пройти тест и вывести это в консоль:

    label_value
    

13

Вы можете добавить аргументы командной строки в конфигурацию запуска. Просто отредактируйте конфигурацию запуска и добавьте -Dmyprop = value (или что-то еще) в поле аргументов виртуальной машины.


4
Если вы имели в виду «окно аргументов программы», когда сказали «поле аргументов командной строки» на вкладке «Аргументы» - не работает! Должен быть введен в поле «VM Arguments Box», как упомянуто выше Bombe.
Деванг Камдар

4

запустить конфигурацию -> аргументы -> аргументы vm

(также можно поместить в конфигурацию отладки в разделе Конфигурация отладки-> Аргументы-> Аргументы ВМ)



0

Да, это способ:

Щелкните правой кнопкой мыши по своей программе, выберите запустить -> запустить конфигурацию, затем по аргументу vm.

-Denv=EnvironmentName -Dcucumber.options="--tags @ifThereisAnyTag"

Потом можно подать заявку и закрыть.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.