Нужна помощь по включению всех jar-файлов из каталога в существующий проект - PullRequest
1 голос
/ 29 августа 2011

Я добавил кусок кода sharepoint к существующему java-файлу, который компилировался и работал нормально.Написанный код sharepoint использует некоторые из внешних библиотек.Теперь мне нужно добавить внешнюю библиотеку в существующий проект через ANT.

Я сделал несколько изменений в файле build.xml и, следовательно, исправил все ошибки компиляции.Однако, когда код выполняется, я получаю сообщение об ошибке «java.lang.NoClassDefFoundError: net / entropysoft / eci / spi / IContentProviderFactory»Пожалуйста, помогите мне решить эту ошибку.

Также, пожалуйста, дайте мне знать, что нужно добавить в файл build.xml для устранения ошибки.Все файлы JAR присутствуют в каталоге "externallibs"

Спасибо, Раджат

Ответы [ 2 ]

2 голосов
/ 29 августа 2011

Вы должны иметь все jar-файлы в classpath при запуске приложения:

java -cp externallibs/* com.foo.bar.Main

Если это веб-приложение Java EE, процесс сборки должен скопировать все эти jar-файлы в папку WEB-INF/libсгенерированная структура веб-приложения.

0 голосов
/ 29 августа 2011

java.lang.NoClassDefFoundError: net/entropysoft/eci/spi/IContentProviderFactory не означает, что класс net.entropysoft.eci.spi.IContentProviderFactory не найден.Это означает, что класс, который используется в этом классе, не найден нигде в пути к классам.Эта ошибка выдается, когда загрузчик классов пытается загрузить класс, но не может правильно инициализировать определение класса.

Чтобы решить эту проблему, вам нужно взглянуть на исходный код класса net.entropysoft.eci.spi.IContentProviderFactory,обычно в разделе импорта, и определите, что является отсутствующим классом Java и в какой библиотеке находится отсутствующий класс. Как только вы узнаете, что вы можете добавить эту библиотеку в ваш путь к классу, используя ответ JB Nizet.Если вы запустите его из IDE, вам нужно будет добавить эту библиотеку в build.xml.

...