我正在使用 JSF 2.0、NetBeans 6.9.1、GlassFish Server 3.1、mojarra 2.0.3 和 JasperReports 3.7.6 开发一个 Web 应用程序。我的项目库中包含 jar 文件“xerces-2.8.0.jar”。该文件是作为 JasperReports jar 文件库的一部分导入的。每当我尝试通过 NetBeans 部署、运行或调试我的项目时,都会收到以下错误:
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! DTD factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory.
在我的项目中发生任何更改后,我的构建失败,并且当我尝试部署、运行或调试它时收到上述错误。我必须重新启动服务器并再次运行/调试。我搜索了互联网,找不到解决此问题的方法。我查看了有问题的 jar 文件,并且 DTDDVFactoryImpl 确实从 DTDDVFactory 扩展 - 我不知道为什么我会收到此错误。虽然我最终可以让我的项目运行,但如果我没有收到这个错误会更好。
谁能告诉我如何解决这个问题?我需要从我的项目库中删除此文件吗?我需要用新版本/旧版本更新这个文件吗?