السلام عليكم ورحمة الله وبركاته
منذ يومين وأنا أقرأ عن ربط التقارير بالجافا وأحاول التطبيق ولم تفلح كل محاولاتي ، وهذه آخر محاولة أضعها بين أيديكم لتساعدوني في معرفة الخطأ الذي لم أستطع معرفته
أنشأت تطبيق desktop باستخدام netbeans وأضفت الأوامر التالية بعد الدالة initComponents()
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/reportdata", "root", "a");
JasperPrint jp = JasperFillManager.fillReport("F:\\reports\\report1.jasper", null, conn);
mainPanel.setLayout(new java.awt.BorderLayout());
mainPanel.add(new JRViewer(jp));
} catch (ClassNotFoundException ex) {
Logger.getLogger(RohailireportView.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(RohailireportView.class.getName()).log(Level.SEVERE, null, ex);
} catch (JRException ex) {
Logger.getLogger(RohailireportView.class.getName()).log(Level.SEVERE, null, ex);
}
ثم أضفت المكتبات اللازمة للمشروع ولا يوجد أي خطأ في التطبيق ، لكن عند التنفيذ يظهر الخطأ التالي
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:472)
at net.sf.jasperreports.engine.JasperCompileManager.loadEvaluator(JasperCompileManager.java:238)
at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:421)
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:428)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:76)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:86)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:56)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:52)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
at rohailireport.RohailireportView.<init>(RohailireportView.java:33)
at rohailireport.RohailireportApp.startup(RohailireportApp.java:19)
at org.jdesktop.application.Application$1.run(Application.java:171)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedException
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
... 27 more
وهذه أوامر sql الخاصة بانشاء القاعدة
DROP TABLE IF EXISTS `reportdata`.`table1`;
CREATE TABLE `reportdata`.`table1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
مرفق ملف report1.jasper
مرفق المشروع كاملا
