2014-09-13 2 views
1

나는이 문제를 가지고 사용되지 않는 내가 (터미널)에서 자바 프로그램을 실행하는 데 갔을 때 나는 단순히-cp ./ Java를 실행할 때 항상 수동으로 CP에 CWD를 포함시켜야합니까?

java className 

을 말할 것입니다 및 프로그램이 실행됩니다. 나는이 시도 그러나 최근에 나는 오류,

나는 다음 클래스 패스와에 -cp ./ 내 curring 작업 디렉토리를 추가했습니다

는이 문제를 해결하려면 기본 클래스의 클래스 이름을 찾거나로드 할 수 없습니다 프로그램이 실행됩니다. 나는 this에 따르면

java -cp ./ className 

오라클의 표준 구현을 게시 유래, 현재 작업 디렉토리가 항상 따라서이 더 이상 스크립트를 피하는 클래스 패스에 될 수 있도록 내 환경 변수에 추가 할 모르겠어요 현재 작업 디렉토리에서 클래스 이름을 찾습니다. 명령 행에서 찾을 수없는, 그리고 CLASSPATH 환경 변수, defaults to the current directory에서 발견되지 않는 경우는

,

답변

3

클래스 경로 (I 자바 8 및 Windows 8.1 사용하고 있습니다).

-cp 클래스 경로

클래스 파일을 검색하는 디렉토리, JAR 파일과 ZIP 아카이브의 목록을 지정합니다.

-classpath 또는 -cp를 지정하면 CLASSPATH 환경 변수의 설정이 무시됩니다.

-classpath 및 -cp가 사용되지 않고 CLASSPATH가 설정되지 않은 경우 사용자 클래스 경로는 현재 디렉토리 (.)로 구성됩니다.

당신이 -cp을 지정하면

는, 당신은 명시 적으로 클래스 경로에 . (현재 디렉토리)를 포함해야하며, 그것은 포함되지 않습니다.

작동하지 않습니다 -cp를 사용하지만, 명시 적으로 -cp .이 작업을 수행 진술하지 않으면, 당신은 CLASSPATH 환경 변수를 정의해야하며, 명시 적으로 .을 포함하지 않아야합니다. 이는 옵션을 사용하여 .을 포함하여 CLASSPATH을 우선 적용하는 이유를 설명합니다.

+0

'-cp' 만 지정하여'.'을 포함 할 수 있습니다. 내가 지금 무엇을 얻고 있는지에 관해서는'java className '으로 간단하게 돌아갈 수있는 방법이있다. 지금 당장 내 프로그램을 실행하는 유일한 방법은'java -cp ./ className'이다. –

+1

'CLASSPATH '환경 변수가 정의 되었습니까? 아마도 당신은 그렇지만'.'은'CLASSPATH'에 없습니다. 그러면'-cp'가 작동하지 않는 이유를 설명 할 수 있지만'-cp. '는 작동합니다. – rgettman

+0

저는 바보입니다. CLASSPATH에 대한 환경 변수에'. /'를 추가 할 수 있다는 것을 몰랐습니다. 문제가 해결되어서 고맙습니다. –

관련 문제