Jump to content
We've recently updated our Privacy Statement, available here ×

Tomcat + Jasperreports Problem


2005 IR Help

Recommended Posts

By: sven-loe - sven-loe

Tomcat + Jasperreports Problem

2004-04-27 03:22

Hello,

 

I have a perfectly working test program for making pdf reports on command line. If I take all the .Jar files and put them in the WEB-INF/lib/ and put the modifyed class in WEB-INF/classes I get this error:

 

C:jakarta-tomcat-5.0.19Umsaetze_FX_Swap.java:90: cannot resolve symbol

symbol : variable varsm

location: class Umsaetze_FX_Swap

variable_SummaryDummyGroup_COUNT = (JRFillVariable)varsm.get("SummaryDum

myGroup_COUNT");

^

82 errors

dori.jasper.engine.JRException: Errors were encountered when compiling report ex

pressions class file:

See error messages above.

at dori.jasper.engine.design.JRAbstractJavaCompiler.compileReport(JRAbst

ractJavaCompiler.java:154)

at dori.jasper.engine.design.JRDefaultCompiler.compileReport(JRDefaultCo

mpiler.java:136)

at dori.jasper.engine.JasperCompileManager.compileReport(JasperCompileMa

nager.java:196)

at dori.jasper.engine.JasperCompileManager.compileReport(JasperCompileMa

nager.java:148)

at reports.ReportGenerator.generateReport(ReportGenerator.java:122)

at reports.MenuAction.execute(MenuAction.java:66)

at org.apache.struts.action.RequestProcessor.processActionPerform(Reques

tProcessor.java:484)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja

va:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:148

2)

at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

 

at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl

icationFilterChain.java:284)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF

ilterChain.java:204)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV

alve.java:257)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv

eContext.java:151)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav

a:567)

at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard

ContextValve.java:245)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV

alve.java:199)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv

eContext.java:151)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav

a:567)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j

ava:184)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv

eContext.java:151)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j

ava:164)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv

eContext.java:149)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav

a:567)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal

ve.java:156)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv

eContext.java:151)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav

a:567)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)

 

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:20

6)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java

:833)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce

ssConnection(Http11Protocol.java:732)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java

:619)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP

ool.java:688)

at java.lang.Thread.run(Thread.java:534)

 

The error happens when I try to compile my .xml file. I suspect that there is some kind of path problem but I do not know how to configure Tomcat correctly. The Tomcat version is 5.0.19 and Jasperreports 0.5.2.

 

I hope somebody has an idea because I am seriously stuck.

 

Greetings,

Sven

 

 

 

 

 

By: sven-loe - sven-loe

RE: Tomcat + Jasperreports Problem

2004-04-27 08:33

Hello Teodor,

 

your hint was all I needed.

 

Thank you

 

The 2 lines I needed were :

compile_path="c:/jakarta-tomcat-5.0.19/webapps/etms/WEB-INF/lib/jasperreports-0.5.2.jar;c:/jakarta-tomcat-5.0.19/webapps/etms/WEB-INF/classes";

System.setProperty("jasper.reports.compile.class.path",compile_path);

 

Greetings

Sven

 

 

 

 

By: Teodor Danciu - teodord

RE: Tomcat + Jasperreports Problem

2004-04-27 05:57

 

Hi,

 

It is about setting the "jasper.reports.compile.class.path"

system property correctly.

Check the "webapp" sample provided and

the "Quick How To".

 

Thank you,

Teodor

 

 

 

 

 

By: Kalpesh N Mistry - pincoo

RE: Tomcat + Jasperreports Problem

2004-05-03 11:39

Sven-loe ......

Gr8 that it hepled you ....

 

Teodor,

I m facing problem with blank browser screen.

No error but no report too.

 

Let me know some workaround.

Have got some reports to be generated in pdf

i m using

JDK1.4.xx

WinXp

JRUN server

MS ACCESS

 

Also why ireport generated report properly but webapp fails....

have checked webapp sample.

infact did modified only the connection and the .jasper report in the sample web app.

Still didnt helped.

 

Others have reached to a point wehre they are exlporing abt reports and sub totals.... I m still stucked here with blank screens.... No exception.

 

Need help on streams too.

 

Currently i m callin a bean that generates a pdf rpt on the local drive of server, then i am using jdownload(using pack provided zoom ...) that helps download a report. Its time and resource consuming ....

 

Some working code (other than webapp) attached would do needful for me to explore.

 

Any help / suggestion would be of gr8 help.

Thnx in advance ....

Regards,

Kalpesh N Mistry.

Digital@wwmail.co.uk

 

 

 

 

By: Priyank - loginpiri

RE: Tomcat + Jasperreports Problem

2004-10-16 06:21

Hi,

I'm generating a JasperDesign object without an xml design.

After doing so, if i try to compile it as -

JasperReport compiledReport = JasperCompileManager.compileReport(design);

//where design is a valid JasperDesign object.

This works in a dos environment.(i'm using a windows 2000 m/c).But the same program doesn't work when running under Tomcat 4.1 .I've seen many posts in this regard, and as mentioned in the "webapp" example I've also updated the properties as shown below:

 

System.setProperty(

"jasper.reports.compile.class.path",

context.getRealPath("/WEB-INF/lib/jasperreports-0.6.0.jar") +

System.getProperty("path.separator") +

context.getRealPath("/WEB-INF/lib/commons-logging-1.0.2.jar") +

System.getProperty("path.separator") +

context.getRealPath("/WEB-INF/classes/")

);

 

But still I'm getting the following error:

 

java.lang.NoClassDefFoundError

at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.compileReport(JRAbstractJavaCompiler.java:101)

at net.sf.jasperreports.engine.design.JRDefaultCompiler.compileReport(JRDefaultCompiler.java:137)

at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:199)

at com.huawei.oss.pas.server.reports.actions.modules.PASReportExporter.setCompiledReport(PASReportExporter.java:60)

at com.huawei.oss.pas.server.reports.actions.modules.PASReportExporter.exportReport(PASReportExporter.java:89)

at com.huawei.oss.pas.server.reports.actions.PASExportReportAction.execute(PASExportReportAction.java:44)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

at com.huawei.oss.pas.server.reports.ReportsServ.process(ReportsServ.java:108)

at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)

at java.lang.Thread.run(Thread.java:536)

 

any idea how to solve this?

 

 

 

 

By: sven-loe - sven-loe

RE: Tomcat + Jasperreports Problem

2004-05-04 07:02

Hello Kalpesh N Mistry,

 

you said you have code that generates a pdf file. So I send you some sample code to display it:

 

<%@ page language="java"%>

<%@ page import="dataconn.tmsDataBean" %>

<%@ page import="java.io.*"%>

<%@ page import="java.util.*"%>

<%@ page import="javax.servlet.*"%>

<%@ page import="reports.*"%>

<%

 

////////////////////////////////Print Code///////////////////////

 

ReportGenerator rpg = new ReportGenerator("tms", tmsBean.tmsConn);

ByteArrayOutputStream pdfStream = null;

if(ID.equals("Umsaetze"))

pdfStream = rpg.generateReport("Umsaetze_FX_Termin.xml", CLAUSE+" "+ORDER);

if(ID.equals("Lfd_Erg"))

pdfStream = rpg.generateReport("Lfd_Erg_FX_Termin.xml", CLAUSE+" "+ORDER);

//set the headers. content disposition sets the filename of the download

response.setContentLength(pdfStream.size());

response.setContentType("application/pdf");

response.setHeader("Content-Disposition", "attachment; filename=out.pdf");

BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());

try{

pdfStream.writeTo(bos);

bos.flush();

bos.close();

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

pdfStream.reset();

pdfStream = null;

System.gc();

 

////////////////////////////////Print Code///////////////////////

 

Put it in your .jsp file and test it. The .pdf file should be displayed directly in a pdf viewer.

 

Good Luck

Sven

 

 

 

 

By: Kalpesh N Mistry - pincoo

RE: Tomcat + Jasperreports Problem

2004-05-04 12:46

Thnx Again....

 

currently as i said earlier ...

i am generating pdf on temp location using a jsp page and then direct download on browser to user on second jsp page.

 

really excited to understand capability of Jasper.

Would really try ur code

 

Regards,

Kalpesh

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...