在带有Jasper Report的字段中使用java.time.LocalDate
我有一个在NetBeans 8.1中开发的应用程序,带有iReport和JasperReport 5.5.0版插件。在我的应用程序中,我有一个带有在带有Jasper Report的字段中使用java.time.LocalDate,java,jasper-reports,Java,Jasper Reports,我有一个在NetBeans 8.1中开发的应用程序,带有iReport和JasperReport 5.5.0版插件。在我的应用程序中,我有一个带有JRBeanCollectionDataSource的jasper报告 LocalDate dateFrom = jDateChooser1.getDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); LocalDate dateUntil = jDateChooser2.ge
JRBeanCollectionDataSource
的jasper报告
LocalDate dateFrom = jDateChooser1.getDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate dateUntil = jDateChooser2.getDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
List<Registru> regs = db.getRegistreFrom(dateFrom, dateUntil);
Map<String, Object> params = new HashMap<>();
String absolutePath = "....\\rapoarte\\";
params.put("SUBREPORT_DIR", absolutePath);
InputStream in = getClass().getResourceAsStream("/rapoarte/registreListare.jasper");
JasperPrint jp = JasperFillManager.fillReport(in, params, new JRBeanCollectionDataSource(regs,false));
// ... code here
问题在于报告中的字段是:
但当我编译它时,它会给我一个错误
无法将java.time.LocalDate解析为类型
只有当我将
放入时,它才起作用。这个问题与您正在使用的JTD编译器(jrxml编译器)有关
要使用Java-8,您需要最新版本的EclipseJava编译器(ecj),请检查
要在java.time.LocalDate
或java.time.LocalDateTime
上使用模式,请参阅此以获取更多信息我将Netbeans 8.1与以下插件一起使用:iReport-5.5.0.nbm、jasperserver-plugin-5.5.0.nbm、jasperreports-components-plugin-5.5.0.nbm。如何更改Java编译器?感谢检查您当前使用的JDT编译器搜索ecj或JDT编译器,基本上从类路径中删除旧的,并将新的ejc设置为类路径。然而,我的建议是不要使用插件(我使用安装的iReport或JasperSoft Studio)来避免插件问题。作为补充,我放弃了在netbeans中使用jasper reports插件,并开始使用JasperStudio来创建和编译jrxml文件。但在NetBeans下处理所有文件是很容易的。
public class Registru {
private int id;
private int nrReg;
private LocalDate date;
// ... getters and setters
}