2014-04-08 1 views
0

나는 명령 줄에 입력 할 때 :명시 적으로 클래스 경로를 설정하지 않고 JUnit 테스트를 실행할 수있는 이유는 무엇입니까?

java -cp '.:/usr/share/java/*' junit.textui.TestRunner MyTest 

java junit.textui.TestRunner MyTest 

두 번째 그냥 처음처럼 작동

대. junit.textui 패키지가 classpath를 설정하지 않고 찾을 수 있다는 의미입니까 아니면 그냥 작동합니까?

+4

즉, junit.textui 패키지가 현재 클래스 경로에 있음을 의미합니다. 당신이 이것에 놀란 것 같기 때문에 아마도 다른 것으로 추가되었습니다. "echo $ CLASSPATH"가 말하는 것을 확인할 수 있습니다. – Kayaman

+0

감사! 즉시 투표 할 응답을 즉시 게시 할 수 있습니다. – user3511965

답변

1

이는 junit.textui 패키지가 이미 클래스 경로에 있음을 의미합니다. 현재 기본 클래스 경로를 표시하려면 "echo $ CLASSPATH"를 사용할 수 있습니다.

대부분의 경우 기본 클래스 경로 ($ CLASSPATH)에는 필요한 모든 라이브러리가 들어 있지 않으므로 -cp 명령 줄 스위치와 함께 별도로 지정해야하므로 배치 파일/셸 스크립트 , 모든 필수 라이브러리가 명시 적으로 지정되었는지 (즉, 기본 JDK에 포함되지 않은 모든 라이브러리) 고려해야합니다.

관련 문제