문제

나는 Java 프로젝트에 NetBeans IDE를 사용하고 있습니다. 이 프로젝트에는 JAR 파일 "htmlunit-2.6.jar"가 필요합니다.

프로젝트 라이브러리 폴더 에이 JAR 파일을 포함 시켰습니다. 나는 그 클래스 "WebClient"중 하나를 인스턴스화했지만이 클래스에는 "commons-httpclient-3.1.jar"파일의 다른 클래스가 필요합니다.

이제 프로젝트 라이브러리 폴더에 "Commons-httpclient-3.1.jar"파일도 포함되었습니다. 하지만 소스 파일을 컴파일하면 던졌습니다.

ClassNotFoundException : org.apache.commons.httpclient.auth.credentialsprovider

한 항아리 파일의 한 클래스가 다른 JAR 파일의 다른 클래스가 필요할 때이 상황을 처리하는 방법을 친절하게 알려주십시오.

도움이 되었습니까?

해결책

컴파일 타임에 필요한 JAR 파일을 클래스 경로에 놓으면 작동하면 작동합니다. 당신이 명령 줄에서 그것을하고 있다면 그것은 다음과 같이 보일 것입니다.

javac -cp jar1:jar2 my.Application

사용중인 경우 NetBeans 그런 다음 말해야합니다 NetBeans 두 병이 당신의 클래스 경로에 있다는 것입니다. a 프로젝트> 속성 마법사 여기에 설명 된대로 그리고 또한 여기 튜토리얼에서

다른 팁

ClassNotFoundException은 라이브러리에 런타임에 클래스 경로에 포함되지 않은 의존성이 있음을 알려줍니다. 당신이 사용할 수없는 것을 사용한 경우, NB는 컴파일 시간 (또는 편집 할 때)에 이것을 알려줄 것입니다.

그래서, "의존성 지옥"Java. 소규모 프로젝트의 경우 Readme 파일, 문서 등으로 모든 종속성을 손으로 확인하고 Oxbow_lakes가 말한 것처럼 프로젝트 구성에 넣을 수 있습니다. Maven. 그것은 당신을 위해 모든 것을 (대부분) 할 것입니다!

(Maven은 NB6에서 사용할 수 있습니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top