PDA

View Full Version : گزارشگیری با IReport 3.7.3



ermia2008
یک شنبه 10 مرداد 1389, 22:28 عصر
سلام دوستان
راستش رو بخواید من یه گزارش با IReport 3.7.3 ساختم ولی وقتی می خوام این گزارش ساخته شده رو در برنامم استفاده کنم از چپ و راست ارور میرسه. هر طرفش رو که برطرف می کنم باز به یه چیز دیگه گیر میده!!!
می خواستم ببینم کسی از دوستان هست که یه مثال کوچولو در این زمینه نوشته باشه؟ اگه نوشته که خدا خیرش بده بگه چی کار کرده تا خیر دنیا و آخرت نصیبش بشه!

البته مثال خودم داخل J2SE هست! اگه کسی مثالی داره که این گزارش رو داخل یک صفحه JSP هم بشه نشونش داد ممنون میشم.
اینم مثال خودم:



package net.rayco;

import java.io.FileInputStream;
import java.sql.*;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.JasperReport;

public class testJasper {

public static void displayReport(String reportFile) {
try{
JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
Connection jdbcConnection = openConnection();
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, jdbcConnection);
JasperViewer.viewReport(jasperPrint);
}catch(Exception e) {
System.out.println("Error occurred: " + e.getMessage());
}
}

public static void main(String[] args) {
displayReport("report1.jrxml");
}


public static Connection openConnection() throws Exception
{
Class.forName("org.gjt.mm.mysql.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/saba", "root", "123");
return conn;
}
}



این هم متن ارور ها:




Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at net.sf.jasperreports.engine.util.JRClassLoader.loa dClassForRealName(JRClassLoader.java:157)
at net.sf.jasperreports.engine.util.JRClassLoader.loa dClassForName(JRClassLoader.java:115)
at net.sf.jasperreports.engine.JasperCompileManager.g etCompiler(JasperCompileManager.java:511)
at net.sf.jasperreports.engine.JasperCompileManager.c ompileReport(JasperCompileManager.java:215)
at net.rayco.testJasper.displayReport(testJasper.java :18)
at net.rayco.testJasper.main(testJasper.java:28)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedExcep tion
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 8 more

mazdadoost
یک شنبه 10 مرداد 1389, 23:27 عصر
org.gjt.mm.mysql.Driver
احتمالا تو Class Path تون نیست!

ermia2008
دوشنبه 11 مرداد 1389, 00:00 صبح
org.gjt.mm.mysql.Driver
احتمالا تو Class Path تون نیست!

خیر. اصلا به این خط نمیرسه. به خط:


JasperDesign jasperDesign = JRXmlLoader.load(reportFile);


که میرسه با همون ارورهای وحشتناک جاوایی مواجه میشم.
البته با یه کم دستکاری ارورش خدارو شکر کمتر شده میگه:



Error compiling report java source files

ermia2008
دوشنبه 11 مرداد 1389, 00:30 صبح
دوستان مشکل بنده حل شد.
کاری که بنده انجام دادم این بود:
1- کتابخونه jdt-compiler-3.1.1.jar رو من از داخل پوشه نصب شده IReport برداشتم و به کتابخونه برنامم اضافه کردم.مشکلم حل شد!

2- یه سری از فایل هایی که باید به کتابخونه برنامه اضافه بشن اینا هستن:

- commons-beanutils-1.5.jar
- commons-collections-2.1.jar
- commons-digester-1.7.jar
- commons-logging-1.0.2.jar
- itext-1.3.1.jar
- jasperreports-3.7.3.jar
- jcommon-1.0.0.jar
- jdt-compiler-3.1.1.jar
- jdt-compiler-3.1.1.jar

3- نکته ای که هست اینکه در کنار جایی که فایل jrxml رو گذاشتید فایل های jasper. و تمامی فایل های و عکس هایی که در برنامه استفاده کردید هم باید گذاشته بشن!

همین!
تمامی کتابخونه هایی که گفتم هم میتونید از سایت findjar.com دانلود کنید

امیدوارم مفید واقع بشه.
موفق باشید

mazdadoost
دوشنبه 11 مرداد 1389, 11:40 صبح
- کتابخونه jdt-compiler-3.1.1.jar رو من از داخل پوشه نصب شده IReport برداشتم و به کتابخونه برنامم اضافه کردم.مشکلم حل شد!

این همونی هست که منم گفتم ! که اینطوری خودش رو نشون میده و دقیقا به این شکل :
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException