JasperReports: Kompillieren des JasperDesign

Status
Nicht offen für weitere Antworten.
S

Silences

Gast
Hi,

ich habe mir im Forum die Beiträg zu Jasper Reports durchgesehen, hab aber nichts gefunden, was mir bei meinem Problem geholfen hätte.

Ich habe mit iReport ein Grunddesign für einen Report erstellt. Da die Daten, welche exportiert werden sollen, allerdings erst zur Laufzeit zusammengestellt werden, kann ich die einzelnen Felder des Detailbereichs nicht bereits in iReport erstellen.

Ich lade daher beim Erstellen des PDFs zuerst die .jrxml-Datei, und füge die Felder hinzu. Beim Kompilieren des Designs bekomme ich jedoch eine Exception.


Source:
Code:
JasperDesign jd = JRXmlLoader.load(getServletContext().getResourceAsStream("/test.jrxml"));
               
// Hinzufügen der Felder
                
JasperReport jr = JasperCompileManager.compileReport(jd); // hier wird die Exception geworfen

HashMap params = new HashMap();
params.put("user", getName());
JasperReportsHandler jsh = new JasperReportsHandler(getName(),this.getServletContext());
JasperPrint jasperPrint = jsh.generateJasperPrintByMapList("test", params, getDataRows(), jr);
jsh.exportJasperReport(jasperPrint,"inline","application/pdf",getTableName(),null,response);


Code:
Code:
"Errors were encountered when compiling report expressions class 
file:\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:4: package 
net.sf.jasperreports.engine does not exist\r\nimport 
net.sf.jasperreports.engine.*;\r\n^\r\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:5:
 package net.sf.jasperreports.engine.fill does not exist\r\nimport 
net.sf.jasperreports.engine.fill.*;\r\n^\r\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:13:
 package net.sf.jasperreports.engine does not exist\r\nimport 
net.sf.jasperreports.engine.*;\r\n^\r\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:15:
 package net.sf.jasperreports.engine.data does not exist\r\nimport 
net.sf.jasperreports.engine.data.*;\r\n^\r\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:21:
 cannot find symbol\r\nsymbol: class JREvaluator\r\npublic class test_1177775726078_679378 extends 
JREvaluator\r\n                                               
^\r\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:28: cannot find 
symbol\r\nsymbol  : class JRFillParameter\r\nlocation: class test_1177775726078_679378\r\n    private 
JRFillParameter parameter_REPORT_LOCALE = null;\r\n            
^\r\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:29: cannot find 
symbol\r\nsymbol  : class JRFillParameter\r\nlocation: class test_1177775726078_679378\r\n    private 
JRFillParameter parameter_REPORT_TIME_ZONE = null;\r\n            
^\r\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:30: cannot find 
symbol\r\nsymbol  : class JRFillParameter\r\nlocation: class test_1177775726078_679378\r\n    private 
JRFillParameter parameter_REPORT_VIRTUALIZER = null;\r\n            
^\r\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:31: cannot find 
symbol\r\nsymbol  : class JRFillParameter\r\nlocation: class test_1177775726078_679378\r\n    private 
JRFillParameter parameter_REPORT_SCRIPTLET = null;\r\n            
^\r\nD:\\netbeans-5.5\\enterprise3\\apache-tomcat-5.5.17\\bin\\test_1177775726078_679378.java:32: cannot find 
symbol\r\nsymbol  : class JRFillParameter\r\nlocation: class test_1177775726078_679378\r\n    private 
JRFillParameter parameter_REPORT_PARAMETERS_MAP = null;\r\n                   
...

Würde mich freuen, wenn mir jemand weiter helfen kann.


mit freundlichen Grüßen,
Silence
 
G

Guest

Gast
Sieht nach Classpath-Problem aus.
In früheren Versionen von JasperReports (habe es lange nicht mehr benutzt) gab es die Umgebungsvariable
"jasper.reports.compile.class.path", in der alle benötigten Jar-Dateien von JasperReport eingetragen werden.
Dies kannst du auch zur Laufzeit machen
Code:
System.setProperty(
   "jasper.reports.compile.class.path", 
   "./lib/jasperreport.jar;./lib/commons-beanutils.jar;...."
) usw.
Beachte aber, dass in POSIX Systemen Doppelpunkt als Path-Trenner verwendet wird, nicht Semikolon.
Suche am besten danach in der aktuellen Doku. Keine Ahnung, ob es in der aktuellen Version immer noch nötig ist.
 
G

Guest

Gast
Noch etwas. Es sind drei Umgebungsvariablen gewesen.

jasper.reports.compiler.class : Welcher Compiler wird verwendet (z.B. dori.jasper.engine.design.JRJdk13Compiler)
jasper.reports.compile.class.path : Classpath für die Compilierung
jasper.reports.compile.temp : Temporäres Verzeichnis für die compilierten Klassen
 
G

Guest

Gast
Danke :)

Wusste bereits, dass es was mit dem sein wird. Aber ich weiß noch nicht genau wie ich diese Variablen setzen muss und bin mit der Doku auch noch nicht wirklich weitergekommen.
Aber ich versuche es weiter. ;)
 
G

Guest

Gast
Meist liegt die Antwort viel näher als man denkt... :oops:

Mir fehlt einfach eine Jar Datei zum Kompillieren, da ich nur meine normale JasperReports Library eingebunden hatte und die habe ich nur zum Verwenden mit fertig kompilierten Reports verwendet.
 

Saxony

Top Contributor
Hiho,

wäre nicht schlecht wenn du für andere diese JAR noch benennen könntest. :)

Vielleicht meinst du ja: jdt-compiler-3.1.1.jar

bye Saxony
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Problem mit JasperReports Allgemeine Java-Themen 8
J WARNING: An illegal reflective access operation has occurred, beim Compilieren von JasperReports, was bedeutet das ? Allgemeine Java-Themen 23
A JasperReports (iReports) und openPDF Allgemeine Java-Themen 4
T JasperReports mit Null Pointer Allgemeine Java-Themen 3
M Kapselung JasperReports Server und Java Allgemeine Java-Themen 5
C JasperReports, PDF und "Speichern unter"-Dialog Allgemeine Java-Themen 7
S GlassFish und Jasperreports - grauer Report Allgemeine Java-Themen 3
A Jasperreports automatisch ausführen lassen Allgemeine Java-Themen 5
T Probleme mit JasperReports Allgemeine Java-Themen 7
N NoClassDefFoundError bei JasperReports Allgemeine Java-Themen 2
C JasperReports in J2SE 1.4 Allgemeine Java-Themen 2
S Boolean Ausgabe JasperReports Allgemeine Java-Themen 2
J NullPointerException bei JasperReports Allgemeine Java-Themen 2
S JasperReports Tutorials Allgemeine Java-Themen 3
K Verständnissfrage JasperReports / Java Obekte POJO? Allgemeine Java-Themen 9
T html Datei in jrxml Datei (JasperReports) umwandeln Allgemeine Java-Themen 6
K JasperReports -> PDF Allgemeine Java-Themen 9
M Jasperreports Allgemeine Java-Themen 2
foobar Druckausgabe Jasperreports Allgemeine Java-Themen 2
G JasperReports: Verwenden von vorkompilierten Reports Allgemeine Java-Themen 2
H Frage zu JasperReports und JRDataSource Allgemeine Java-Themen 3
D JasperReports Allgemeine Java-Themen 5
D Problem mit JasperReports Allgemeine Java-Themen 2
X JasperReports Bibliotheken Einbinden Allgemeine Java-Themen 2
V Suche einfaches JasperReports Tutorial Allgemeine Java-Themen 23

Ähnliche Java Themen

Neue Themen


Oben