GlassFish und Jasperreports - grauer Report

Sc0rP1En

Mitglied
Hallo Forum

Ich arbeite jetzt schon seit gut 3 Tagen an diesem Fehler herum.

In meinem Projekt soll über eine WebApp, welche mit GWT programmiert wurde, ein Report generiert werden.

Das Hauptproblem ist, dass das Ganze im Eclipse funktioniert. Ich kann damit lokal alles wunderbar erzeugen. Sobald ich das Projekt allerdings kompiliere und auf meinen Test-GlassFish-Server lade, bekomme ich statt einem Report, nur eine graue Seite.

Muss ich irgendwas spezielles beachten, wenn ich JasperReports mit GlassFish verwende?

Java:
try {
		String path ="/res/fahrtenbuch.jasper";

		ServletOutputStream servletOutputStream = response.getOutputStream();
			InputStream inputStream = getServletConfig().getServletContext()
						.getResourceAsStream(path);

			 JasperRunManager.runReportToPdfStream(inputStream, servletOutputStream,
			          parameters, new JREmptyDataSource());
}
		} catch (Exception ex) {

			ex.printStackTrace();

		} finally {
			servletOutputStream.flush();
			servletOutputStream.close();
}

Gibt es eine Möglichkeit Variablen in die Chrome-Konsole zu schreiben um zu überprüfen, ob er eventuell Probleme mit dem Pfad der .jasper Datei hat?

Ich hoffe Ihr könnt mir helfen. Danke schon im Voraus.

greets
Sc0rP1En

PS: Falls Ihr weitere Infos braucht, gebt mir bitte Bescheid.
 
Die Kombination Glasfish (also wahrscheinlich Servlet ... oder) und Jasper hatte ich persönlich noch nicht. Aber ich habe auch so meine Erfahrungen mit Jasper gemacht.

Somit kann ich dir auf alle Fälle einen allgemeinen Tipp geben. Versuche erst einmal einen Report mit nur einem Label drin, ohne DB Zugriff oä. Wenn das funktioniert, dann kannst du einen komplizierteren Report versuchen. Wenn nicht, liegt es wohl eher an deiner Umgebung (libs usw.).

Hast du mal die Log Files nach Exceptions durchsucht?
 
Die Kombination Glasfish (also wahrscheinlich Servlet ... oder) und Jasper hatte ich persönlich noch nicht. Aber ich habe auch so meine Erfahrungen mit Jasper gemacht.

Somit kann ich dir auf alle Fälle einen allgemeinen Tipp geben. Versuche erst einmal einen Report mit nur einem Label drin, ohne DB Zugriff oä. Wenn das funktioniert, dann kannst du einen komplizierteren Report versuchen. Wenn nicht, liegt es wohl eher an deiner Umgebung (libs usw.).

Hast du mal die Log Files nach Exceptions durchsucht?

Danke für deine Antwort.

Habe die Serverlogs vom GlassFish angeschaut. Als erstes kam ein Fehler mit einer fehlenden Lib. Die commons-logging hatte gefehlt. Diese habe ich nun hinzugefügt.

Als ich es dann nochmals probiert habe, kam folgende Exception:
Java:
[#|2012-06-11T12:54:50.941+0200|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=422;_ThreadName=Thread-2;|java.lang.ClassCastException: cannot assign instance of net.sf.jasperreports.engine.base.JRBaseStaticText to field net.sf.jasperreports.engine.base.JRBaseParagraph.paragraphContainer of type net.sf.jasperreports.engine.JRParagraphContainer in instance of net.sf.jasperreports.engine.base.JRBaseParagraph

Dann habe ich, wie du mir vorgeschlagen hast, einen kleinen Report nur mit einem Statictext gemacht.

Leider kommt immer noch dieselbe Exception.

Ich verwende allerdings kein Statictext als Field.

Lokal im Eclipse funktioniert alles nach wie vor tadellos...
 
Bin nun auf eine ältere iReport und JasperReports Version umgestiegen: 3.7.2

Nun funktioniert alles Problemlos. Scheint wohl ein Fehler in der neueren Jasper Version zu sein. Da auch iReport mit der aktuellen Version kompiliert.
 

Zurück
Oben