2016-08-25 3 views
0

내가 DynamicReports의 최신 버전을 사용하고, 나는 다음과 같은 오류가 점점 오전 : 나는이 JasperReportBuilder.toXlsx()를 호출 할 때오류 사용 DynamicReports : java.lang.NoSuchFieldError : ELEMENT_GROUP_HEIGHT

Loading XML bean definitions from URL [jar:file:/home/diego.queres/Desenv/Java/Projetos%20Java/VAGAS/ProcessadorRelatoriosJasper/dist/run4454548/lib/dynamicreports-examples-4.1.1.jar!/net/sf/dynamicreports/examples/genericelement/openflashchart/openflashchart.xml] 
java.lang.NoSuchFieldError: ELEMENT_GROUP_HEIGHT 
    at net.sf.dynamicreports.jasper.transformation.ConstantTransform.stretchType(ConstantTransform.java:1072) 
    at net.sf.dynamicreports.jasper.transformation.ComponentTransform.component(ComponentTransform.java:190) 
    at net.sf.dynamicreports.jasper.transformation.ComponentTransform.component(ComponentTransform.java:116) 
    at net.sf.dynamicreports.jasper.transformation.ComponentTransform.list(ComponentTransform.java:248) 
    at net.sf.dynamicreports.jasper.transformation.ComponentTransform.component(ComponentTransform.java:112) 
    at net.sf.dynamicreports.jasper.transformation.BandTransform.band(BandTransform.java:132) 
    at net.sf.dynamicreports.jasper.transformation.BandTransform.transform(BandTransform.java:58) 
    at net.sf.dynamicreports.jasper.transformation.JasperTransform.transform(JasperTransform.java:81) 
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toJasperReportDesign(JasperReportBuilder.java:269) 
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.getJasperParameters(JasperReportBuilder.java:296) 
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toJasperPrint(JasperReportBuilder.java:307) 
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.export(JasperReportBuilder.java:634) 
    at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toXlsx(JasperReportBuilder.java:607) 

이 오류가 발생합니다.

내 소스 코드 :

JasperReportBuilder report = report(); 
List<TextColumnBuilder> lsColumns = getDRColumnsFromRecordset(rs); 
for (TextColumnBuilder tcbColumn : lsColumns) { 
    report.addColumn(tcbColumn); 
} 
report.title(cmp.text("Title")); 
report.pageFooter(cmp.pageXofY());  
report.ignorePageWidth(); 
report.ignorePagination(); 
report.setDataSource(rs); 
report.toXlsx(xlsxExporter); //throw error in this line 

답변

1

나는이 문제에 대한 해결책을 발견했다. 동적 보고서의 종속성을 여러 번 테스트 한 결과 솔루션을 얻을 수있었습니다.

제 신청서에 JasperReports 6.1.0을 사용하고 있습니다. Jasper 템플릿 (jrxml)에서 보고서를 생성합니다. 동적 보고서를 사용하여 jrxml없이 보고서를 생성하는 리소스를 추가하기로 결정했습니다.

동적 보고서를 사용하는 버전은 최신 버전 4.1.1입니다. 모든 버전 (Source Forge에서 사용할 수있는 버전 : https://sourceforge.net/projects/dynamicreports/files/dynamicreports)을 보았고이 버전이 JasperReports 버전 6.2.2를 사용함을 알았습니다. 그래서 기본적으로 JasperReports 6.1.0을 사용하는 동적 보고서 버전을 사용해 보았습니다. : 동적 보고서 버전 4.0.1.

이제 작동 중입니다!

우리가 알 수있는 점은 다음과 같습니다. 동적 보고서에서 사용하는 JasperReports 버전을 확인하는 것이 중요하므로 비 호환성 문제가 없습니다.