# Problem mit JasperReport



## Azrahel (29. Mai 2006)

Einen wunderschönen guten Morgen erstmal. 

Ich hab da ein Problem, und zwar hätt mein Chef gern das wir mal Reporte mit Jasper machen. Und nach kurzer Suche im Netz hat ich dann auch so ziemlich alles zusammen. 

nun klappts aber nicht :-( war klar. 

Die JavaKlasse:

```
package reports;

import java.util.HashMap;

import net.sf.jasperreports.engine.*;

public class FirstReport {
	   public static void main(String[] args) {
	      JasperReport jasperReport;
	      JasperPrint jasperPrint;
	      HashMap parameter = new HashMap ();
	      parameter.put("aParameter", "Hallo Welt");
	      
	      try {
			jasperReport = JasperCompileManager.compileReport("C:/javaifai/eclipse 3.1/workspace/AREA51/reports/FirstReport.jrxml");
	    	jasperPrint = JasperFillManager.fillReport(jasperReport, parameter, new JREmptyDataSource());
	    	JasperExportManager.exportReportToPdfFile(jasperPrint, "C:/javaifai/eclipse 3.1/workspace/AREA51/reports/output.pdf");
			} catch (JRException e) {
				System.err.println(e);
			}

	   }
	}
```
Die ReportDatei:

```
<?xml version="1.0" encoding="UTF-8"  ?>
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="FirstReport">

 <parameter name="aParameter" class="java.lang.String"/>

 <detail>
  <band height="200">
   <textField >
    <reportElement x="200" y="60" width="200" height="50" />      
    <textElement><font size="36"/></textElement>
    <textFieldExpression class="java.lang.String"><![CDATA[$P{aParameter}]]></textFieldExpression>
   </textField>
  </band>
 </detail>

</jasperReport>
```

Die Fehlermeldung:
net.sf.jasperreports.engine.JRException: Error compiling report java source files : C:\javaifai\eclipse 3.1\workspace\Area51\FirstReport_1148891890515_959132.java 

Und das wars dann auch schon. nicht sehr aufschlussreich für nen Jasper-Anfänger. Kann mir da jemand nen Tip geben bitte?


----------



## DP (29. Mai 2006)

schau dir mal das ireport an, das ist eine grafische oberfläche, womit du jasper-reports erstellen kannst.


----------



## Azrahel (29. Mai 2006)

Hab ich 

sieht auch echt gut aus, das Tool. Aber wenn ich das benutze rasseln mir noch mehr Fehlermeldungen rein :-(

Da muss ich wohl noch ein büsschen übeln...


----------



## DP (29. Mai 2006)

kompilieren geht bei mir mit dem tool auch nicht, das mache ich immer mit dem code.

welche datenquelle hast du im ireport angegeben?

db oder bean?


----------



## Azrahel (29. Mai 2006)

Weder noch, ich hab alle Daten in der Aufrufenden Javaklasse per HashMap übergeben. Ging auch prima.

Was aber da wohl interessant ist, bei mir klappt das kompilieren mit IReport einwandfrei, wenns mal nicht geht gibt das Tool auch echt sinnvolle Fehlermeldungen raus. Dafür klappt das kompilieren im Code garnicht, ich muss immer die fertigen .jasper-Dateien mit JasperManager.loadReport(...) laden, und die ist deprecatet :-/

Aber soweit hab ichs schonmal zum laufen *freu*


----------



## DP (29. Mai 2006)

hmm... deprecated?

ich mache das so (mit den fertigen japser-files)


```
File invoice = new File("rechnung_netto_de.jasper");
        JasperReport jr = (JasperReport) JRLoader.loadObject(invoice.getAbsolutePath());
        JasperPrint jasperPrint = JasperFillManager.fillReport(jr, null, new JRTestDataSource(ob));
        JasperPrintManager.printReportToPdfFile(jasperPrint, ob.getAuftragsnummer() + ".pdf");
```


----------



## Azrahel (29. Mai 2006)

Mega! Funktioniert einwandfrei 

Danke schön!


----------

