這裏是我的GeneratePdf.java 導入...GeneratePDF與JasperReports的圖書館和MongoDB
public class GeneratePdf {
public static void main(String[] args) {
try {
JRDataSource ds = getDatasource();
// - Chargement et compilation du rapport
line32 JasperDesign jasperDesign = JRXmlLoader.load("/home/gocoffee.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
// - Paramètres à envoyer au rapport
Map parameters = new HashMap();
parameters.put("Titre", "Titre");
// - Execution du rapport
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
parameters, ds);
// - Création du rapport au format PDF
JasperExportManager.exportReportToPdfFile(jasperPrint, "home/test2.pdf");
} catch (JRException e) {
}
}
蒙戈連接和獲取數據():
private static JRDataSource getDatasource() {
// Retrieve session
try{
Mongo m = new Mongo("localhost", 27017);
DB db = m.getDB("test");
DBCollection t = db.getCollection("test");
List<DBObject> list = t.getIndexInfo();
JRDataSource ds = new JRBeanCollectionDataSource(list);
return ds;
} catch (UnknownHostException e) {
System.out.println("Error mongo connection");
} catch (Exception e) {
System.out.println("Other Exception");
}
return null;
}
}
我得到這個錯誤,但我不明白它:
run:
17-Feb-2012 17:07:26 org.apache.commons.digester.Digester endElement
SEVERE: End event threw exception
java.lang.reflect.InvocationTargetException
....
....
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:156)
at GeneratePdf.main(GeneratePdf.java:32)
Caused by: net.sf.jasperreports.engine.JRRuntimeException: No query executer factory registered for the 'MongoDbQuery' language.
at net.sf.jasperreports.engine.util.JRQueryExecuterUtils.getQueryExecuterFactory(JRQueryExecuterUtils.java:64)
at net.sf.jasperreports.engine.design.JRDesignDataset.queryLanguageChanged(JRDesignDataset.java:1122)
at net.sf.jasperreports.engine.design.JRDesignDataset.setQuery(JRDesignDataset.java:600)
at net.sf.jasperreports.engine.design.JasperDesign.setQuery(JasperDesign.java:789)
... 28 more
我讀過你的博客,這很有趣。我有一個新的問題[這裏](http://stackoverflow.com/questions/9340767/generatepdf-with-jasperreport-library - 和 - mongodb)如果你能幫助我。謝謝 – Louis 2012-02-18 13:17:34
新錯誤!我添加了log4j.xml(log4j.properties),並且我又出現了同樣的錯誤: '24 Feb 2012 14:20:53 ERROR [org.apache.commons.digester.Digester]結束事件拋出異常 java.lang。 reflect.InvocationTargetException \t在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) \t在net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:156) .... \t的生成。 main(Generate.java:29) 引起:net.sf.jasperreports.engine.JRRuntimeException:沒有查詢執行器工廠註冊爲'MongoDbQuery'語言。 ...' – Louis 2012-02-24 14:24:54
嗨mdahlman,它看起來你上面提到的網站不工作。你能找到這個嗎?請嘗試提供示例代碼/項目 – Prateek 2015-10-09 20:26:18