Eclipse에서 테스트하는 동안 -D 시스템 속성을 전달하는 방법은 무엇입니까?


93

Windows의 Eclipse에서 개발 중이며 Code는 Unix에 배포됩니다. System.getProperty ( "key")를 사용하여 시스템 속성 값을 가져옵니다. 코드를 수정할 필요가없고 디버깅을 위해 Eclipse에서 작동하도록 Eclipse에서 어떻게 전달합니까?

어떤 제안?

답변:


133

실행-> 구성 실행, 프로젝트 선택, 두 번째 탭 : "인수". 상단 상자는 프로그램 용이고 하단 상자는 VM 인수 용입니다 (예 : -Dkey=value.


1
Android 애플리케이션을 실행하려는 경우 어디에 있습니까?
user678392

접두사로 'D'를 사용해야하는 이유는 무엇입니까?
Manticore 2014 년

28
당신이 저와 같은 두께로 경우 - -D 인수는 갈 바닥 VM 인수를위한 상자 , 하지 프로그램의 인수를위한 셋톱 박스에. / sigh
ruffin 2014

2
상단 상자는 메서드에 String[] args전달되는 main것입니다.
jaco0646

7
이것이 기본적으로 발생하도록 설정하는 방법이 있습니까? 그래서 많은 테스트에서 이것을 반복해서 입력 할 필요가 없습니까?
Stewart

44

System.properties이클립스에서 사용하기 위해 java를 사용할 수 있습니다 .

  1. 다음 과 같이 -Dlabel="label_value"테스트의 VM 인수를 추가 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 (또는 기타)를 VM Arguments Box에 추가하기 만하면됩니다.


4
인수 탭에서 "명령 줄 인수 상자"라고 말했을 때 "프로그램 인수 상자"를 의미했다면-작동하지 않습니다! 위에 Bombe가 언급 한대로 "VM Arguments Box"에 입력해야합니다.
Devang Kamdar

4

구성 실행-> 인수-> vm 인수

(Debug Configuration-> Arguments-> VM Arguments 아래의 디버그 구성에도 배치 할 수 있습니다.)



0

예, 이것이 방법입니다.

프로그램을 마우스 오른쪽 버튼으로 클릭하고 실행-> 구성 실행을 선택한 다음 vm 인수를 선택하십시오.

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

그런 다음 신청하고 닫을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.