所以MongoDB是在27017运行和我的集合名称为测试。GeneratePDF与JasperReport的图书馆和MongoDB
try {
// - Connection to base
String mongoURI = "mongodb://localhost:27017/test";
MongoDbConnection connection = null;
Map<String, Object> parameters = new HashMap<String, Object>();
try {
line35 connection = new MongoDbConnection(mongoURI, null, null);
parameters.put(MongoDbDataSource.CONNECTION, connection);
JasperDesign jasperDesign = JRXmlLoader.load("/home/gocoffee.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
File jasperFile;
jasperFile = new File("/home/MongoDbReport.jasper");
JasperCompileManager.compileReportToFile("/home/gocoffee.jrxml", "MongoDbReport.jasper");
JasperFillManager.fillReportToFile("/home/MongoDbReport.jasper", parameters);
JasperExportManager.exportReportToPdfFile("/home/MongoDbReport.jrprint");
}
而且我有这样的错误,我不明白为什么:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at com.jaspersoft.mongodb.MongoDbConnection.<init>(MongoDbConnection.java:62)
at Generate.main(Generate.java:35)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
的MongoURI似乎罚款,我想我没有我同意任何登录名或密码
这不是一个mongo问题 - 例外是在jasper中,它看起来像一个简单的类加载问题,因为jasper正在寻找log4j - 你是否安装了log4j并且在系统类路径中? – 2012-02-20 11:54:47
不,我没有安装log4j我甚至不知道它是什么但我即将安装它 – Louis 2012-02-20 18:38:02