2012-08-22 3 views
5

"stdlib.jar"이라는 jar 파일이 있습니다. 이 클래스에는 많은 클래스가 있습니다 ("Default Package"). 내 NetBeans 라이브러리에 stdlib.jar을 추가했습니다. 그리고 "Build"-edstdlib.jar에서 아무 것도 사용하지 않습니다. 그래서 stdlib.jar을 내 "./dist/lib" 폴더에 추가 할 수 있습니다. 하지만 여전히 어떤 수업도들을 수는 없습니다 stdlib.jar stdlib.jar에있는 수업을 재사용하려면 어떻게해야합니까?NetBeans에 기본 패키지 클래스 추가

답변

3

라이브러리 또는 프로젝트에도 "기본 패키지"패키지를 사용하는 것이 좋습니다. 기본 패키지를 사용하는 경우 클래스 이름은 고유해야하며 아니면 java.lang 클래스를 모두 덮어 씁니다.

이제 상황이 나옵니다. 라이브러리에 추가 한 경우 stdlib.jar을 사용하려면 해당 라이브러리를 사용할 수 있어야합니다. stdlib.jar은 사용중인 프로젝트의 기본 패키지에서 사용할 수 있습니다. 기본 패키지 이외의 패키지는 해당 패키지의 stdlib.jar 클래스를 검색 할 때 사용할 수 없습니다.

희망 사항이 명확 해집니다. 감사.

+0

하지만 문제가 해결되지 않았습니다. 라이브러리에 "stdlib.jar"를 추가했습니다. 그 클래스 내의 클래스에 액세스하려고했습니다. 그 수업을 찾을 수 없습니다. 어떻게해야합니까? 제발 어떤 식 으로든 제안 해주세요. 항아리에서 클래스를 추출한 다음 해당 Java 파일을 소스에 추가하면됩니다. 그러나 나는 그것을하고 싶지 않다. "stdlib.jar"의 다른 클래스가 필요할 수도 있으므로 " –

+1

기본 패키지에 클래스가있는 경우 기본 패키지에서만 액세스 할 수 있습니다. 다른 작업은 할 수 없습니다. – pratikabu

+0

감사합니다. 그냥 해결했습니다. 그때 ur 게시물을 참조하십시오. –

1

당신은 Sedgewick의 교과서를 사용하고 있습니까? 그렇습니다. 그렇다면 FAQ를 읽으십시오.

Q. 이름이 지정된 패키지를 사용하여 코드를 구성하면 컴파일러는 더 이상 stdlib.jar의 라이브러리에 액세스 할 수 없습니다. 왜 안돼?

A. stdlib.jar의 라이브러리는 "기본"패키지에 있습니다. Java에서는 명명 된 패키지에서 기본 패키지의 클래스에 액세스 할 수 없습니다. 명명 된 패키지와 함께 우리의 라이브러리를 사용해야하는 경우, 패키지 버전을 사용할 수 있습니다 stdlib-package.jar

여기

같은 질문 : Getting a library to import properly in netbeans

0

당신이 세지윅 교과서 또는 알고리즘 물론 코 세라에를 사용하는 경우,이 도움이 될 수 있습니다 .

위에서 언급했듯이 stdlib.jar의 라이브러리는 DEFAULT PACKAGE에 있습니다. Java에서는 명명 된 패키지에서 기본 패키지의 클래스에 액세스 할 수 없습니다. 그래서 소스 파일을 프로젝트의 DEFAULT PACKAGE로 옮겨야합니다. 즉, 소스 .java 파일을 ./src/YOURPACKAGE/ 폴더에서 프로젝트의 ./src 폴더로 직접 이동 한 다음 YOURPACKAGE 폴더를 삭제해야합니다. 또한 "패키지 YOURPACKAGE;를 삭제해야합니다." 문을 소스 파일의 시작 부분에 추가하십시오.

기본적으로 모든 작업 만 수행하면됩니다. 이제 소스 파일을 기본 패키지로 옮기고 라이브러리에 "stdlib.jar"를 추가하면 라이브러리의 클래스를 처리하는 데 아무런 문제가 없습니다. 그 (것)들을위한 "수입품"계산서를 필요로하지 않는다.

관련 문제