javax.xml.parsers.FactoryConfigurationError:找不到提供程序org.apache.xerces.jaxp.DocumentBuilderFactoryImpl

时间:2019-06-13 07:43:38

标签: java wso2 weblogic wso2is wso2carbon

我在项目中使用WSO2身份服务器进行身份验证和授权。

问题:

在Tomcat(所有版本)中,所有程序都工作正常,但是在谈到Weblogic时,我遇到了问题。我能够成功部署并按预期运行,但是当需要在Weblogic中更新war文件时,将引发以下异常。为了成功更新,我要么必须停止受管服务器,部署并启动应用程序,要么需要在更新后重新启动服务器。每次重新启动受管服务器似乎都不可行。

错误Stacktrace(来自Weblogic日志):

context_object_name = 'LR'

RND我做了什么: (以下是我分别或一起尝试的步骤)

1)将软件包添加到weblogic.xml(org.apache。*)

2)将xerces添加到pom

3)当我检查身份服务器的库时,发现了一个依赖关系,该依赖关系会导致问题,即org.wso2.carbon.identity.sso.agent版本1.2.0。为此,当我调试所有类文件时,我发现:     System.setProperty(“ javax.xml.parsers.DocumentBuilderFactory”,     “ org.apache.xerces.jaxp.DocumentBuilderFactoryImpl”);

javax.xml.parsers.FactoryConfigurationError: Provider 
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
    at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:200)
    at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:152)
    at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:232)
    at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderF
actory.java:120)
    at org.apache.beehive.netui.pageflow.internal.annotationreader.Processed
AnnotationParser.parse(ProcessedAnnotationParser.java:61)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: 
org/apache/xerces/jaxp/DocumentBuilderFactoryImpl
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at javax.xml.parsers.FactoryFinder.getProviderClass(FactoryFinder.java:1
24)
    at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:188)
    at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:152)
    Truncated. see log file for complete stacktrace
>

这是我猜出该问题的实际原因,但由于无法构建身份服务器的代码而无法注释/删除它

4)最后,我在Weblogic中为xerces创建了共享库。但是,它再次与另一个应用程序产生了问题,因为它将应用部署在同一托管服务器中的所有webapp。

我尽了一切可能,但没有运气。

任何人都已覆盖org.wso2.carbon.identity.sso.agent(1.2.0),或者知道如何执行此操作的任何来源?

据我所知,我猜这就是解决方案的方式。

1 个答案:

答案 0 :(得分:0)

您可以从github获取代码并执行以下步骤。

  https://github.com/wso2-extensions/identity-agent-sso/tree/master/components

1)下载源代码

2)而不是与任何IDE集成(运行mvn clean然后使用build命令检查其构建)

3)随意从notpad更改代码。

4)步骤2

您将把更新的jar放入.m2文件夹。

希望这会对您有所帮助。