2009-09-09 5 views
2

Java 프로젝트에 Netbeans IDE를 사용하고 있습니다. 이 프로젝트에서는 jar 파일 "htmlunit-2.6.jar"이 필요합니다.java에서 두 개의 jar 파일을 처리하는 방법은 무엇입니까?

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

이제 "commons-httpclient-3.1.jar"파일을 프로젝트 라이브러리 폴더에 포함 시켰습니다. 내 소스 파일을 컴파일 할 때, 그것은

의 ClassNotFoundException 예외 : org.apache.commons.httpclient.auth.CredentialsProvider

하나 개의 jar 파일에 하나 개의 클래스가 다른 클래스를 필요로 할 때 친절하게 어떻게이 상황을 처리하는 말해 다른 jar 파일.

+4

@Yatendra (Maven은 NB6에서 사용할 수 있습니다) - 당신이 당신의 질문에 대한 답변을 수용하지 않는 것은 나쁜 형태로 간주됩니다. 앞으로 여기 사람들은 자신과 같은 0 % 동의율을 가진 사용자에게 답변을 게시하지 않습니다. 이전 질문으로 돌아가서 답변을 수락하십시오. –

답변

5

컴파일 할 때 필요한 jar 파일을 클래스 경로에 넣기 만하면됩니다. 당신이 명령 줄에서 그 일을 한 경우 그 결과는 다음과 같습니다

javac -cp jar1:jar2 my.Application 

당신이 NetBeans를 사용하는 경우 다음 당신은 JAR 파일 모두 클래스 경로에있는 NetBeans 말할 필요가있다. 그것은>은 프로젝트에서 정의 할 속성 마법사 as described here 것 또한 here from the tutorial

0

의 ClassNotFoundException이 라이브러리는 런타임에 클래스 경로에 포함하지 않는 일부 종속성이 있음을 알려줍니다. 당신이 사용할 수없는 것을 사용했다면, NB는 컴파일 할 때 (또는 편집 할 때) 이것을 알려주기 때문에 당신의 출처는 OK입니다.

Java의 "dependency hell"환영합니다. 소규모 프로젝트의 경우 readme 파일, 문서 등을 사용하여 모든 종속성을 손으로 확인하고 oxbow_lakes가 말한대로 프로젝트 구성에 넣을 수 있습니다. 더 큰 것을 보려면 maven을보십시오. 그것은 (대부분) 당신을 위해 모든 것을 할 것입니다!

+1

** 하나의 JAR **을 클래스 패스에 추가하지 않는 것은 * 꽤 * "dependency hell"이 아닙니다! –

+0

나는 OP를 이해하기 때문에 그는이 순간 약 2 개의 병 (Jars)에 대해 말하고 있으며 프로그램은 실행되지 않습니다. 항아리가 실행 버전을 얼마나 필요로하는지 누가 알겠습니까 ... – PeterMmm

+0

예. 알겠습니다. 2 병 - 그건 두 번 나쁘다, 개 년, 의미 2147483647 % 악화 –

관련 문제