javax.xml.parsers.FactoryConfigurationError 运行 JBoss AS 7.1 和 Java 7 更新 171

Posted

技术标签:

【中文标题】javax.xml.parsers.FactoryConfigurationError 运行 JBoss AS 7.1 和 Java 7 更新 171【英文标题】:javax.xml.parsers.FactoryConfigurationError running JBoss AS 7.1 with Java 7 update 171 【发布时间】:2018-07-02 09:32:31 【问题描述】:

将 Java 从 7u161 升级到 7u171 会阻止 JBoss AS 7.1.1.Final 启动。我知道 JBoss AS 7.1.1 是 EOL 但出于兼容性原因,我们仍然需要运行这个版本。

在启动的早期,一些 JBoss 方法中发生 NullPointerException。以下是例外:

Exception in thread "main" javax.xml.parsers.FactoryConfigurationError: Provider __redirected.__SAXParserFactory could not be instantiated: java.lang.NullPointerException
[...]
Caused by: java.lang.NullPointerException
at __redirected.__RedirectedUtils.loadProvider(__RedirectedUtils.java:94)

full stack 在这里。

【问题讨论】:

我测试了 Oracle JDK 7 Update 171(补丁 27217226)和 Oracle JDK 7 Update 171 b31(补丁 27334355),结果相同。 Oracle 社区也有人问过这个问题:community.oracle.com/message/14679602 【参考方案1】:

您可以尝试将jboss-modules.jar(在jboss-as 二进制发行版的根文件夹中找到)升级到1.1.5.GA 吗? jboss-7.1.1.Final 附带的 jboss-modules 版本是 1.1.1.GA,它在初始化顺序和多重初始化方面存在一些问题,这可能会导致问题。

【讨论】:

用jboss-modules-1.1.5.GA.jar 替换原来的 jboss-modules.jar (1.1.1.GA) 解决了这个问题。谢谢。 从这里(java2s.com/Code/Jar/j/Downloadjbossmodules115gajar.htm)下载jar文件并重命名为jboss-module.jar并替换原来的jar。【参考方案2】:

环境如下: JBoss:JBoss AS 7.1.1.Final, 操作系统:Ubuntu 16.04.1,并且, 爪哇:1.8.0_181。

我已经下载了jboss-modules-1.1.5.GA.jar 并替换为 JBOSS_HOME 的 jboss-modules.jar。它对我有用。

【讨论】:

【参考方案3】:

我在生产服务器上遇到了同样的问题

我的环境:-

JBoss AS 7.1.1.Final      
Red Hat Enterprise Linux 6.5     
java: 1.7.0_181  

即使我有 jboss-modules.jar,它默认出现在 JBoss AS 7.1.1.Final 中, 于是我下载了 jboss-modules-1.1.5.GA.jar ,将其重命名为 jboss-modules.jar 并将其替换为原始的 jboss-modules.jar。

【讨论】:

【参考方案4】:

您确定您使用的是 jdk 1.7?

当您尝试使用 java 版本 > 1.7 启动 Jboss, 尝试检查您的 JDK 安装文件夹时,可能会发生此问题。

【讨论】:

看准了!也必须检查环境变量中的 JAVA_HOME。 OpenJDK 1.7.0_261 也造成了这种情况。

以上是关于javax.xml.parsers.FactoryConfigurationError 运行 JBoss AS 7.1 和 Java 7 更新 171的主要内容,如果未能解决你的问题,请参考以下文章