とGeneratePDFは私GeneratePdf.java インポートです...ここで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
新しい間違い!私はのlog4j.xml(log4j.properties)を追加し、私は再び同じエラーを持っている: '2012年2月24日は14時20分53秒ERROR [org.apache.commons.digester.Digester]終了イベントは例外 のjava.langを投げました。 net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:156) .... \tでsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) \tでreflect.InvocationTargetException \tは、生成します。 main(Generate.java:29) 原因:net.sf.jasperreports.engine.JRRuntimeException: 'MongoDbQuery'言語に登録されているクエリ実行プログラムファクトリがありません。 ... ' – Louis
こんにちはmdahlman、あなたの上記のサイトは動作していないようです。あなたはこれを見ていただけますか?サンプルコード/プロジェクト – Prateek