2013-12-19 4 views
0

Я пытаюсь использовать JackRabbit lbrary для работы SVN в SVN. Что я запускаю свой код через отдельную программу, это отлично работает. Но когда я использую веб-проект, он не работает.Получение ClassNotFound Исключение для класса MkActivityMethod

код компилируется нормально, но дает мне во время выполнения исключение в следующей строке:

MkActivityMethod activityMethod = new MkActivityMethod(url); 

Исключение составляет:

java.lang.NoClassDefFoundError: org/apache/jackrabbit/webdav/client/methods/MkActivityMethod 

Мой проект jackrabbit-standalone-2.6.4.jar включен в мои затмений банки, а также в проекте web-Inf/lib папке

Пожалуйста, дайте мне знать, где я ошибаюсь.

ответ

0

Вот мое решение:

  • Попытка построить проект еще раз
  • Проверьте версию JDK для строителя и сервера JRE
  • Попробуйте очистить проект (в затмении, меню Project -> Чистый)

Причина:

После того, как вы скомпилируете свой код, вы получите .class файлов для каждого класса вашей программы. Эти двоичные файлы - это байт-код, который Java интерпретирует для выполнения вашей программы. NoClassDefFoundError указывает, что загрузчик классов, который отвечает за динамическую загрузку классов, не может найти файл .class для класса, который вы пытаетесь использовать. Вероятно, это указывает на то, что вы не задали параметр classpath при выполнении кода. This link объясняет, как установить путь к классу при выполнении.

+0

Я восстановить проект, но то же самое происходит :( версии JDK для затмения:.. 1,6 сервер JDK 1.6 – Sachin

+0

Привет Sijith PS Thaks за ответ я очистил проект, перезапустить сервер, но по-прежнему сталкиваются с тем же вопросом: ( Есть ли что-нибудь, что я могу сделать? – Sachin

+0

Привет, Sujith PS еще раз спасибо за вашу помощь. Если я удалю файл jar из eclipse, мой проект дает ошибки во время компиляции, потому что мой код использует этот класс в jar. Есть ли что-нибудь еще, что вы можете предложить? – Sachin

0

Очевидно, что у вас есть классный путь. Какой веб-сервер вы используете?

+0

Я использую Tomcat 6. Tomcat JRE - это jdk 1.6. Также Eclipse JRE указывает на 1.6 – Sachin

+0

Нет ничего плохого в пути класса, поскольку я добавил соответствующий jar в свой web-Inf/lib. – Sachin

+0

@ user2745675 Попробуйте положить jackrabbit-standalone-2.6.4.jar в папку $ CATALINA_HOME/lib, чтобы убедиться, что это проблема с classpath;) См. Эту статью для получения дополнительной информации: http://tomcat.apache.org/tomcat- 7.0-doc/class-loader-howto.html – michali

Смежные вопросы