gpt4 book ai didi

javax.xml.parsers.FactoryConfigurationError : Provider org. 找不到 apache.xerces.jaxp.DocumentBuilderFactoryImpl

转载 作者:行者123 更新时间:2023-11-30 12:05:10 26 4
gpt4 key购买 nike

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

问题:

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

错误堆栈跟踪(来自 Weblogic 日志):

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
>

RND 我做了什么:(以下步骤我单独和一起尝试过)

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

2) 在pom中添加了xerces

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

org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.java (Line 719)

我猜这是这个问题的真正原因,但无法评论/删除它,因为我无法构建身份服务器的代码

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

我尝试了所有可能的方法,但没有成功。

有人已经覆盖了 org.wso2.carbon.identity.sso.agent(1.2.0),或者知道如何做到这一点的任何来源?

据我所知,我想这就是解决方案。

最佳答案

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

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

1) 下载源码

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

3) 直接从记事本中随意更改代码。

4)第二步

您将在 .m2 文件夹中获取更新的 jar。

希望对您有所帮助。

关于javax.xml.parsers.FactoryConfigurationError : Provider org. 找不到 apache.xerces.jaxp.DocumentBuilderFactoryImpl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56575645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com