PDA

View Full Version : رفع مشکل در JasperReports



Apache's Boy
شنبه 29 فروردین 1388, 14:22 عصر
با سلام
از دوستان عزیزی که با jasper reports کار کرده اند تقاضای راهنمائی دارم
من با Eclips
+struts 1.1+weblogic8+jasperRepots3.5
کار میکنم
classPath هم درسته و jasperreports-*.jar هم include شده
می خوام یه pdf با jasper جنریت کنم ولی درهنگام صدا زدن servlet ای که می خواهد این کارارو انجام بده به error زیر برخورد می کنم .
PLZ Help Me :لبخندساده:


---------------------------------------------------------------------------------------------------
ُSource code
---------------------------------------------------------------------------------------------------
package com.nrdc.cis.pub.servlet;

import java.io.InputStream;
import java.util.*;

import javax.servlet.*;
import javax.servlet.http.*;

import com.nrdc.cis.pub.services.DisDossierSRV;
import com.nrdc.mng.dto.ResultDTO;

import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperPrintManager;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionD ataSource;
import net.sf.jasperreports.engine.design.JasperDesign;

public class FirstReportCompile extends HttpServlet
{

public static boolean dialog = true;
public static String noviolationXML2180 = "E:/report.jrxml";
public static String inquireDesign = "E:/report.jasper";
public static JasperDesign noviolationDesign;


public void service(HttpServletRequest request, HttpServletResponse response)
{

try
{
noviolationDesign = JasperManager.loadXmlDesign(noviolationXML2180);

JREmptyDataSource datasource = new JREmptyDataSource();
JasperReport frontJasperReport = JasperManager.compileReport(noviolationDesign);
JasperPrint frontBackJasperPrint = JasperManager.fillReport(frontJasperReport, new HashMap(), new EmptyDataSource());
JasperPrintManager.printReport(frontBackJasperPrin t, dialog);


}
catch (JRException e)
{
e.printStackTrace();
}
}
}


---------------------------------------------------------------------------------------------------
Console
---------------------------------------------------------------------------------------------------
Error 500--Internal Server Error
java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JRException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Cla ss.java:1590)
at java.lang.Class.getConstructor0(Class.java:1762)
at java.lang.Class.newInstance0(Class.java:276)
at java.lang.Class.newInstance(Class.java:259)
at weblogic.servlet.internal.ServletStubImpl$ServletI nitAction.run(ServletStubImpl.java:991)
at weblogic.security.acl.internal.AuthenticatedSubjec t.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(Se curityManager.java:118)
at weblogic.servlet.internal.ServletStubImpl.createSe rvlet(ServletStubImpl.java:869)
at weblogic.servlet.internal.ServletStubImpl.createIn stances(ServletStubImpl.java:848)
at weblogic.servlet.internal.ServletStubImpl.prepareS ervlet(ServletStubImpl.java:787)
at weblogic.servlet.internal.ServletStubImpl.getServl et(ServletStubImpl.java:518)
at weblogic.servlet.internal.ServletStubImpl.invokeSe rvlet(ServletStubImpl.java:362)
at weblogic.servlet.internal.ServletStubImpl.invokeSe rvlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$Ser vletInvocationAction.run(WebAppServletContext.java :6354)
at weblogic.security.acl.internal.AuthenticatedSubjec t.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(Se curityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.inv okeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execu te(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)

a

mehdi_m1360
یک شنبه 30 فروردین 1388, 16:45 عصر
ببین library های include شده همراه با war file توی سرور deploy میشن یا نه، باید اونا رو توی web-inf/lib پیدا کنی، اگه وجود داشتن قطعا این کلاس توی libraryهات نیست و اگه وجود نداشتن بخش build از property پروژه رو اصلاح کن.

Apache's Boy
دوشنبه 31 فروردین 1388, 10:52 صبح
آقا ممنون
این مشکل برطرف شد و مشکل هم درست گفتید در jarfiles بود .
البته بعد از درست شدنش مطلبتونو خوندم .
حالا به یه مشکل جدید بر خوردم :اشتباه:
که در هنگام اجرای این دستو رخ میده :


JasperReport frontJasperReport = JasperManager.compileReport(noviolationDesign);
-----------------------------------------------------------------------------------------------------
Erorr is :
------------------------------------------------------------------------------------------------------
<Apr 20, 2009 11:18:28 AM IRST> <Error> <HTTP> <BEA-101017> <[ServletContext(id=14870151,name=cis,context-path=)] Root cause of ServletException.
java.lang.NoSuchMethodError: java.lang.String.replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
at net.sf.jasperreports.engine.util.JRStringUtil.esca peJavaStringLiteral(JRStringUtil.java:364)
at net.sf.jasperreports.engine.design.JRClassGenerato r.generateInitParamsMethod(JRClassGenerator.java:3 39)
at net.sf.jasperreports.engine.design.JRClassGenerato r.generateInitParamsMethod(JRClassGenerator.java:2 84)
at net.sf.jasperreports.engine.design.JRClassGenerato r.generateClass(JRClassGenerator.java:136)
at net.sf.jasperreports.engine.design.JRClassGenerato r.generateClass(JRClassGenerator.java:123)
at net.sf.jasperreports.engine.design.JRAbstractClass Compiler.generateSourceCode(JRAbstractClassCompile r.java:109)
at net.sf.jasperreports.engine.design.JRAbstractCompi ler.createCompileUnit(JRAbstractCompiler.java:271)
at net.sf.jasperreports.engine.design.JRAbstractCompi ler.compileReport(JRAbstractCompiler.java:168)
at net.sf.jasperreports.engine.JasperCompileManager.c ompileReport(JasperCompileManager.java:219)
at net.sf.jasperreports.engine.JasperManager.compileR eport(JasperManager.java:936)
at com.nrdc.cis.pub.servlet.FirstReportCompile.servic e(FirstReportCompile.java:44)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletI nvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeSe rvlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeSe rvlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$Ser vletInvocationAction.run(WebAppServletContext.java :6354)
at weblogic.security.acl.internal.AuthenticatedSubjec t.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(Se curityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.inv okeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execu te(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)
>

mehdi_m1360
دوشنبه 31 فروردین 1388, 13:33 عصر
باید JDK که نصب کردی با JDKیی که مربوط به jasper report هستش یکی باشه (مثلا ممکنه تو 1.6 داشته باشی ولی jasper report library با 1.4 کار کنه!) این موضوع خیلی محتمله

Apache's Boy
دوشنبه 31 فروردین 1388, 14:55 عصر
آقا مهدی از کجا بفهمم ؟
من jdk که در weblogic بوده را به eclipse معرفی کرده ام
از کجا بفهمم jasper از کدام نسخه استفاده میکنه ؟

mehdi_m1360
دوشنبه 31 فروردین 1388, 15:50 عصر
اگه آخرین نسخه جاوا و آخرین نسخه jasper report رو داری، که ایراد از جای دیگه ای هست، در غیر این صورت ببین کدوم نسخه رو داری و مشخصاتش رو (مثل سازگار بودنش با jdk) از سایت خود jasper report بگیر. نکته واضح اینه که تو با عدم سازگاری بین libraryها مواجه هستی.

Apache's Boy
چهارشنبه 02 اردیبهشت 1388, 09:12 صبح
راستش من بررسی کردم
آخرین نسخه ار هردورو استفاده کردم در پروژه و my eclipse اما سر همین error گیر کردم که مطمئنن واسه jdk هست .
میشه بگید شما از کدام ورژن جسپر و jdk استفاده کردین .
اگه از ireport هم استفاده کردید نسخه اونو هم بگید
ممنون میشم .

ebrahhimi
سه شنبه 17 فروردین 1389, 15:56 عصر
سلام دوستان
ممکن jasper report رو برای من بذارید تا دانلود کنم آخه اجازه دانلود رو نمیدن