2012-08-27 2 views
4

jar1과 jar2라는 두 개의 jar 파일이 있습니다. 둘은 C에 있습니다. ";"\ Eclipse 프로젝트를 \와Eclipse에서 JAR의 클래스를 사용하는 방법

.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip;C:\Eclipse projects\stdlib.jar;C:\Eclipse projects\algs4.jar 

을 다음과 같이 내가 환경 변수 CLASSPATH에 모두에 경로를 추가 한 처음에는 거기에 있었으므로 나는 그들을 버렸다. 그런 다음 프로젝트 C : \ Eclipse projects \에서 jar 파일을 추가하고 Referenced Libraries로 표시했습니다. 그러나 항아리에서 클래스를 인스턴스화하려고 시도하면 항아리를 인식하지 못합니다. jar (import jar1)도 가져올 수 없습니다.

프로젝트에서 lib 폴더를 추가하려고 시도한 후에 거기에 jar 파일을 추가했습니다. 후에 참조로 다시 추가 했으므로 (참조 된 라이브러리에서 두 번 나타나지는 않음) 그러나 여전히 내부 클래스를 사용할 수 없습니다. 어떤 도움을 많이 주시면 감사하겠습니다.

업데이트 : 내 끝에 뭔가 잘못되었습니다. 나에게 도움이되는 제안은 없었습니다. 다음은 모든 단계가 포함 된 비디오입니다. screencast.com/t/gC81YzCsLY0e

해상도 내 프로젝트에는 TestProject라는 패키지가 있었으며이 패키지에는 기본 패키지가 필요했습니다. TestProject 패키지를 삭제하고 defaultPackage를 사용하면 아래에 설명 된대로 외부 JAR을 추가 한 후에 모든 것이 올바르게 작동합니다.

+0

당신이 "그것을 인식하지 않는다"에 대한 몇 가지 자세한 내용을 제공 할 수있다 : 내 테스트 성공보기

? Java 컴파일 오류/경고 또는 런타임 오류가 있습니까? –

+0

이미지를 추가했습니다. – checho

+1

빨간색 물결 모양의 줄에 CTRL + Shift + 1을 입력 했으므로 가져 오기를 놓친 것 같습니다. –

답변

5

이클립스에서 프로젝트 -> 소유권 -> Java 빌드 경로 -> 외부 JAR 추가 (jar 파일이 프로젝트 폴더 안에 있으면 JAR 추가)를 누른 다음 jar 파일을 선택하십시오. 지금부터 추가 한 jar의 내부 클래스를 사용할 수 있습니다. Eclipse는 사용을 시작할 때 가져옵니다.

+0

초기 질문의 비디오를 참조하십시오 – checho

4

프로젝트에 당신의 JAR 파일이있는 폴더가있는 경우 :

  1. 오른쪽 빌드 경로> 프로젝트를 클릭>을 구성 빌드 경로;
  2. "라이브러리"탭에서 "JAR 추가"를 클릭하고 사용할 JAR 파일을 검색하고 선택하십시오.

당신이 JAR 프로젝트 외부의 다른 장소 파일 당신이있는 경우 : 빌드 경로>

  1. 이 프로젝트를 마우스 오른쪽 클릭> 구성 빌드 경로;
  2. "라이브러리"탭에서 "외부 JAR 추가"를 클릭하고 사용할 JAR 파일을 검색하고 선택하십시오.
+0

초기 질문의 비디오를 참조하십시오 – checho

7

저는 현재 당신과 같은 문제가 있습니다. 그리고 웹에서 대답 할 수있는 답변이 없습니다. 그러나 나는 마침내 그것을 고쳤다.

사실 설치에는 아무런 문제가 없으며 "외부 JAR 추가"를 통해 해당 jar를 가져 오는 것이 옳습니다. 진짜 문제는 자바 코드의 위치/패키지입니다. .java 파일을 기본 패키지에 넣어야한다는 것을 알게되었습니다. 예를 들어 com.xxx.yyy.ccc와 같은 패키지에 자바 코드를 넣으면 오류가 발생합니다. 아래에 올바른 위치/패키지를 나타내는 이미지가 있습니다 (WTF.java 참조). 그렇게하면 프로그램을 실행할 수있게됩니다.

enter image description here

은 그러나, 내가 내 문제를 해결하는 방법, 내가 그 모두를 위해 일할 수있는 모르겠어요입니다 ..

+0

나는 운동 제출 기한에서 몇 시간 밖에 떨어져 있지 않습니다. .. 당신은 나를 위해 당신의 솔루션 작업을 볼 수있어 얼마나 대단히 기쁜지 믿지 못할 것입니다 !!! – mannyee

+0

어제 같은 항아리가 어제 잘 작동했지만 Android Studio에서 항아리를 가져 오는 데 거의 반나절을 잃었습니다. 귀하의 솔루션을 즉, 기본 패키지에서 직접 클래스를 유지했지만 여전히 프로젝트 내부 클래스 'WTF'가져 오는 방법을 언급하지 않았다. –

5

왜이 두 개의 JAR (stdlib-package.jar 및 algs4-package.jar)을 사용하지 마십시오.

그리고 코드 페이지 (http://algs4.cs.princeton.edu/code/) 내 코드를 구성하는 명명 된 패키지를 사용하는 경우

Q.이 컴파일러는 더 이상 stdlib.jar 또는 algs4.jar의 라이브러리에 액세스 할 수 있습니다 아래

. 왜 안돼?

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

경고 : Princeton COS 226 또는 Coursera, Algorithms, Part I 또는 II를 복용하는 경우 등급 매기기를 위해 라이브러리의 기본 패키지 버전을 사용해야합니다. Showing my test success

관련 문제