Как обрабатывать два файла JAR в Java?
Вопрос
Я использую IDE Netbeans для проекта 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.
Решение
Просто поместите необходимые файлы jar в путь к классам во время компиляции, и это должно работать. Если бы вы делали это из командной строки, это выглядело бы так:
javac -cp jar1:jar2 my.Application
Если вы используете NetBeans
, вам нужно сообщить NetBeans
, что оба JAR-файла находятся в вашем пути к классам. Это будет определено в проекте > Мастер свойств , как описано здесь , а также здесь из учебного пособия р>
Другие советы
ClassNotFoundException сообщает, что в ваших библиотеках есть некоторые зависимости, которые вы не включили в путь к классам во время выполнения. С вашим источником все в порядке, потому что, если вы использовали что-то недоступное, NB сообщит вам об этом во время компиляции (или перед редактированием). Р>
Итак, добро пожаловать в ад зависимости " Ява Для небольших проектов вы сможете вручную проверить все зависимости с помощью файлов readme, документов и т. Д. И поместить их в конфигурацию проекта, как сказал oxbow_lakes. Более подробные сведения можно найти в maven . Это сделает (большинство) все для вас! Р>
(Maven доступен в NB6)