2011-08-04 4 views
0

중간에 복잡한 보고서를 Java 응용 프로그램으로 가져 오려고합니다. 이 보고서에는 하위 쿼리, 스타일 템플릿 (jrtx) 및 이미지가 포함됩니다. 모든의 iReport에서 잘 작동하지만 응용 프로그램에서 보고서를 실행하려고하면 그것은 나에게 다음과 같은 오류 제공 : 내가 개발의 iReport 버전 4.0.2 (에 4.0.1 compatiblity 모드)를 사용하고iReport에서 Java 응용 프로그램으로 JasperReport를 가져올 때 예외가 발생했습니다.

exception 
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is net.sf.jasperreports.engine.JRRuntimeException: Error parsing template XML 

root cause 
net.sf.jasperreports.engine.JRRuntimeException: Error parsing template XML 

root cause 
org.xml.sax.SAXParseException: Element type "paragraph" must be declared. 

을 보고서 및 net.sf.jasperreports 4.0.1을 사용하여 응용 프로그램에 대한 보고서를 실행하십시오. 참고 : iReport 버전은 jasperReport 버전과 일치합니다.

답변

0

분명히 iReport의 4.0.1 호환 모드가 100 % 작동하지 않습니다. iReport 4.0.2는 특정 속성을 망칠 때 태그를 삽입합니다. <paragraph> 태그는 JasperReport 4.0.1에 없습니다. 스타일 템플릿보다는 보고서에 단락 스타일을 포함 시키면 컴파일시에이를 잡았을 것입니다. 템플릿은 런타임에 고려됩니다.

내가 이렇게 내 템플릿을 변환 :
From: 
<jasperTemplate> 
... 
    <style name="in-detail-fields"> 
    <paragraph leftIndent="3" rightIndent="3"/> 
    </style> 
... 
</jasperTemplate> 

To: 
<jasperTemplate> 
... 
    <style name="in-detail-fields" leftIndent="3" rightIndent="3" /> 
... 
</jasperTemplate> 

불행하게도,의 iReport 4.0.2이 같은 템플릿을 변경 한 후 제대로 템플릿을 해석하지 않습니다. :-(더 나은 해결책은 iReport를 적절한 버전으로 다운 그레이드하는 것일 수 있습니다.

관련 문제