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

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

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

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

1
Rajath 29 Авг 2011 в 14:30

2 ответа

Лучший ответ

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

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

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

2
Arjan Tijms 27 Апр 2013 в 07:57

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

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

0
gigadot 29 Авг 2011 в 12:04