Вопрос

Я использую 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)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top