Как обрабатывать два файла JAR в Java? - PullRequest
2 голосов
/ 09 сентября 2009

Я использую Netbeans IDE для проекта Java. В этом проекте мне нужен файл 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.

Ответы [ 2 ]

5 голосов
/ 09 сентября 2009

Просто поместите необходимые файлы jar в путь к классам во время компиляции, и это должно работать. Если бы вы делали это из командной строки, это выглядело бы так:

javac -cp jar1:jar2 my.Application

Если вы используете NetBeans, вам нужно сообщить NetBeans, что оба JAR находятся на вашем пути к классам. Это будет определено в Project> Properties wizard , как описано здесь , а также здесь из учебного пособия

0 голосов
/ 09 сентября 2009

ClassNotFoundException сообщает вам, что у ваших библиотек есть некоторые зависимости, которые вы не включили в ваш путь к классам во время выполнения. С вашим источником все в порядке, потому что, если вы использовали что-то недоступное, NB сообщит вам об этом во время компиляции (или перед редактированием).

Итак, добро пожаловать в « ад зависимостей » Java. Для небольших проектов вы сможете вручную проверить все зависимости с помощью файлов readme, документов и т. Д. И поместить их в конфигурацию проекта, как сказал oxbow_lakes. Для больших вещей посмотрите на Maven . Это сделает (большинство) все для вас!

(Maven доступен в NB6)

...