2011-10-22 4 views
3

org.w3c.dom.Document를 가져 오는 파일이 있습니다. 컴파일하고 실행해도 문제가 없지만이 패키지를 어디에서 찾을 수 있는지 어떻게 이해할 수 없으며 어떻게 작동하는지 궁금합니다. locate 명령을 사용하여 org.w3c.dom을 찾으려고했지만 아무것도 얻지 못했습니다. 이 패키지는 어디에 있습니까? 내 검색 결과가 CLASSPATH 환경 변수를 제안하는 것처럼 보이기 때문에 CLASSPATH 환경 변수가 올바른 위치에 표시 될 것입니다. 이 올바른지? 어쨌든, 나는 CLASSPATH 변수가 무엇인지 알아내는 방법을 모른다. 그것은 내 쉘이 알고있는 환경 변수가 아닌 것 같습니다.java : 가져 오기, 클래스 경로 및 패키지

+0

CLASSPATH 환경 변수를 사용하는 것은 잘못된 생각입니다. Java 또는 javac에 -classpath 매개 변수를 전달하는 것이 더 좋은 옵션입니다. – MeBigFatGuy

답변

2

핵심 라이브러리 (rt.jar)의 일부이므로 Java JRE를 설치 한 곳이면 어디든 될 수 있습니다. 구체적으로는 $JAVA_HOME/jre/lib

jar 명령을 사용하여 .jar 파일을 볼 수 있습니다. 언급 한 클래스를 보려면 다음을 수행하십시오.

jar tvf rt.jar 

이 jar에는 모든 클래스가 나열됩니다.

이 위치는 JVM에서 자동으로 검색되므로 필요하지 않으며 CLASS_PATH 환경 변수에 포함됩니다. 명확성을 위해

편집을 (당신은 그것을 추가 할 수 있지만, 단순히 중복 될 것이다) :

JVM은 기본적으로 <Where_you_installed_jdk>/jre/lib<Where_you_installed_jdk>/jre/lib/ext이 포함되어 있습니다. 다른 것은 java에 직접 -cp 옵션을 통해 전달하거나 CLASS_PATH 환경 변수에 추가하여 명시 적으로 추가해야합니다.

relavent 문서

가에서 찾을 수 있습니다 http://download.oracle.com/javase/6/docs/technotes/tools/findingclasses.html

+0

JAVA_HOME 환경 변수가 없기 때문에 locate를 사용하여 rt.jar를 찾았습니다. 이 환경 변수가 없다는 것이 문제입니까? 그것은 무엇을위한 것이며 그것을 설정하는 책임은 누구입니까? – bhh1988

+0

@ bhh1988 - 파일을 찾은 위치를 설명하기 위해 JAVA_HOME을 사용했습니다. CLASS_PATH와 마찬가지로 Java 프로그램을 실행하는데도 필요하지 않습니다. 예를 들어 어떻게 사용했는지와 마찬가지로 일반적으로 다른 곳에서는 찾을 수있는 위치에 사용됩니다. 당신은 당신의 컴퓨터에 자바를 설치했다. –

+0

지금, 감사합니다! – bhh1988

3

JVM은 필수 패키지에 대한 alll 경로가 설정된 클래스 경로 설정을 사용하여 클래스를 찾습니다. classpath는 여러 가지 방법으로 설정할 수 있습니다. 처음 언급 한 것은 CLASSPATH 환경 변수입니다. 선택적이며 설정을 해제 할 수 있습니다. 두 번째 방법은 "java"실행 파일을위한 "-cp"옵션입니다.

또한 일부 JRE 런타임 jar는 기본적으로 클래스 경로에 기본적으로 추가되므로 암시 적으로 표준 패키지를 사용자가 직접 검색하고 추가 할 필요가 없습니다 (특히 질문에서 언급 한 패키지).

+0

나는 본다. 암시 적으로 추가되는 다른 항아리가 있습니까? 클래스 경로에 암시 적으로 추가 된 항아리 목록을 어디에서 찾을 수 있습니까? 내 수업 경로는 어떻게 볼 수 있습니까? – bhh1988

+0

사실 JDK 설치 디렉토리를보고 런타임 jar (rt.jar)를 확인할 수 있습니다. 그러나 Java Runtime Library의 일부이기 때문에 이러한 항아리는 클래스 경로에 표시되지 않습니다. – xappymah

0

는 자신의 디렉토리에서이 같은 컴파일 messconvener.java을 시도

javac -d ..\..\. -cp ..\..\. messconvener.java

-d은 - 패키지에 대한 디렉토리 구조를 생성

-cp - 사용자 정의 클래스를 찾을 수있는 사용자 파일의 클래스 경로를 제공합니다.

관련 문제