2015-02-16 3 views
4

Я получаю java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester Ошибка, и я застрял в этой ошибке более месяца. Я пробовал все версии Digester, и я также проверял наличие дубликатов JAR в classpath.# java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester

Я разработал отчет через iReport-5.6.0, и я использовал JAR от iReport-5.6.0\ireport\modules\ext и других необходимых JAR.

Ошибка-Log:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester 
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:108) 
    at net.sf.dynamicreports.examples.JasperMongoDBConnection.main(JasperMongoDBConnection.java:30) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.digester.Digester 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 2 more 
+2

У вас есть http://commons.apache.org/proper/commons-digester/ в вашем пути к классу? –

+0

У меня была такая же проблема, что все, что я сделал, включал банку 'commons-digester' в моем классе. – Salah

+0

@FredericClose - да У меня есть Digester в моем классе. У меня есть версия 2.1 в моем пути к классам –

ответ

5

Если NoClassDefFoundError брошено вы должны проверить, что необходимые баночки правильно загружены в пути к классам, или, возможно, вы смешиваете версии и имена классов могут быть различными (или его поведение). Проверьте, нужна ли добавленная банку Digester.

Проверьте эту баночка правильно загружена:

jasperreports-.jar; 
jasperreports-javaflow.jar; 
commons-beanutils.jar; 
commons-collections.jar; 
commons-logging.jar; 
commons-digester.jar 

Посмотрите на папке плагин отчета яшмы под вашим затмением экземпляра. Найдите в этой папке кувшин-хранилище общего пользования и скопируйте тот же банку (и другие перечисленные банки) в свой проект.

+0

Да, я загружаю 2,1 версию jar, я попробовал распечатать путь к классу, и в нем есть ящик 2.1 для Digester. –

+0

где вы это используете? если он находится на каком-то сервере, проверили ли вы каталог lib? – exoddus

+0

Я запускаю локально в Eclipse –

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