很抱歉这是一个虚假的问题,但是我开始使用JasperReport失去了一整天。问题是我总是收到这个异常:“org.xml.sax.SAXParseException:文件过早结束。”当我试图阅读.jrxml文件。不可能没有格式良好,因为它是用iReport生成的。
我在jasper论坛上问道,但到目前为止还没有解决方案。当我在web中搜索这个错误时,通常它涉及WebService技术,但我在没有应用程序容器的本地数据库连接中运行我的应用程序。 有什么想法吗?
提前致谢。
答案 0 :(得分:0)
您可能需要确保您的iReport安装使用适当的iText jar。如果您将iReport与JasperServer一起使用,则需要验证两者是否使用相同版本的iText。上次我在这个上下文中看到这个错误,结果发现JasperServer安装使用的是比iReport更旧的iText版本 - 而且必需旧版本。对两种产品使用相同的jar解决了这个问题。
答案 1 :(得分:0)
您是否使用iReport制作文件并尝试在同一iReport或其他iReport版本中打开它?
可能出现的问题:
我希望您有一个SVN,其中存在以前版本的文件,如果存在,请尝试比较它们。 另一个建议是,如果文件位于远程文件夹(即服务器)上,请将其复制到本地文件夹并尝试。
另一个猜测,你是否试图用JasperReports编译文件?当使用iReport版本制作文件且JasperReport较旧或较新时,这是一个常见问题。确保iReport目录中的jasperreports * .jar文件与您在项目中编译的文件相同。
更新:看看JavaForums,缺少xsd / dtd或saaj.jar可能会导致此问题。
答案 2 :(得分:0)
应用程序中JasperReports的版本可能与应用程序中的版本不同。
答案 3 :(得分:0)
检查
下的设置
C:\Users\XXXXX\.ireport\3.7.0\config\Windows2Local\Components
也许一些配置文件被销毁