Jasper Report 不能在 Jboss6.0 上 运行 但在 tomcat 7 上工作正常
JasperReport cannot run on Jboss6.0 but woeks fine on tomcat 7
我创建了一个 JasperReport 应用程序,它在 tomcat 服务器上运行良好。但是当我在 Jboss 上使用同一个 jar 到 运行 时,它显示错误
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.profileservice.dependency.ProfileActivationWrapper$BasicProfileActivation.start(ProfileActivationWrapper.java:190) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileActivationWrapper.start(ProfileActivationWrapper.java:87) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileActivationService.activateProfile(ProfileActivationService.java:215) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileActivationService.activate(ProfileActivationService.java:159) [:0.2.2]
at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.activate(AbstractProfileServiceBootstrap.java:112) [:0.2.2]
at org.jboss.profileservice.resolver.BasicResolverFactory$ProfileResolverFacade.deploy(BasicResolverFactory.java:87) [:0.2.2]
at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.start(AbstractProfileServiceBootstrap.java:91) [:0.2.2]
at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:132) [:6.1.0.Final]
at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56) [:6.1.0.Final]
at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-6]
at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-6]
at java.lang.Thread.run(Thread.java:745) [:1.7.0_75]
原因:java.lang.ClassCastException:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl 无法转换为 javax.xml.parsers.DocumentBuilderFactory
在 javax.xml.parsers.DocumentBuilderFactory.newInstance(未知来源)[:1.7.0_75]
在 org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:854) [:]
在 org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:778) [:]
在 org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526) [:6.1.0.Final]
在 org.apache.log4j.LogManager.(LogManager.java:127) [:6.1.0.Final]
问题是 Jboss 在 Jboss 库中包含 class "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl" 和相同的 class "javax.xml.parsers.DocumentBuilderFactory" 包含在应用程序 war 文件的 lib 文件夹中。所以 classes 都会发生冲突。这就是 class 转换异常发生的原因。
要解决此问题,请从应用程序 war 文件的 lib 文件夹中删除包含 class "javax.xml.parsers.DocumentBuilderFactory" 的 jar 文件。 class "javax.xml.parsers.DocumentBuilderFactory" 包含在 xml-apis-1.3.02.jar 文件中.
因此从 war 文件中删除 xml-apis-1.3.02.jar。可以通过在 Maven 的 "pom.xml" 文件
中排除它来完成
我创建了一个 JasperReport 应用程序,它在 tomcat 服务器上运行良好。但是当我在 Jboss 上使用同一个 jar 到 运行 时,它显示错误
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.SP2]
at org.jboss.profileservice.dependency.ProfileActivationWrapper$BasicProfileActivation.start(ProfileActivationWrapper.java:190) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileActivationWrapper.start(ProfileActivationWrapper.java:87) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileActivationService.activateProfile(ProfileActivationService.java:215) [:0.2.2]
at org.jboss.profileservice.dependency.ProfileActivationService.activate(ProfileActivationService.java:159) [:0.2.2]
at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.activate(AbstractProfileServiceBootstrap.java:112) [:0.2.2]
at org.jboss.profileservice.resolver.BasicResolverFactory$ProfileResolverFacade.deploy(BasicResolverFactory.java:87) [:0.2.2]
at org.jboss.profileservice.bootstrap.AbstractProfileServiceBootstrap.start(AbstractProfileServiceBootstrap.java:91) [:0.2.2]
at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:132) [:6.1.0.Final]
at org.jboss.system.server.profileservice.bootstrap.BasicProfileServiceBootstrap.start(BasicProfileServiceBootstrap.java:56) [:6.1.0.Final]
at org.jboss.bootstrap.impl.base.server.AbstractServer.startBootstraps(AbstractServer.java:827) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-6]
at org.jboss.bootstrap.impl.base.server.AbstractServer$StartServerTask.run(AbstractServer.java:417) [jboss-bootstrap-impl-base.jar:2.1.0-alpha-6]
at java.lang.Thread.run(Thread.java:745) [:1.7.0_75]
原因:java.lang.ClassCastException:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl 无法转换为 javax.xml.parsers.DocumentBuilderFactory 在 javax.xml.parsers.DocumentBuilderFactory.newInstance(未知来源)[:1.7.0_75] 在 org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:854) [:] 在 org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:778) [:] 在 org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526) [:6.1.0.Final] 在 org.apache.log4j.LogManager.(LogManager.java:127) [:6.1.0.Final]
问题是 Jboss 在 Jboss 库中包含 class "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl" 和相同的 class "javax.xml.parsers.DocumentBuilderFactory" 包含在应用程序 war 文件的 lib 文件夹中。所以 classes 都会发生冲突。这就是 class 转换异常发生的原因。
要解决此问题,请从应用程序 war 文件的 lib 文件夹中删除包含 class "javax.xml.parsers.DocumentBuilderFactory" 的 jar 文件。 class "javax.xml.parsers.DocumentBuilderFactory" 包含在 xml-apis-1.3.02.jar 文件中.
因此从 war 文件中删除 xml-apis-1.3.02.jar。可以通过在 Maven 的 "pom.xml" 文件
中排除它来完成