java.lang.AbstractMethodError:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl不继承抽象javax.xml.parsers.DocumentBuilderFactory 概述:

java.lang.AbstractMethodError:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl不继承抽象javax.xml.parsers.DocumentBuilderFactory 概述:,java,tomcat,jsf,migration,omnifaces,Java,Tomcat,Jsf,Migration,Omnifaces,迁移JSF Web项目(Java和Tomcat)时OmniFaces/Xercex/命名冲突 简介 在过去的几年中,我们开始构建和开发企业JSF应用程序(Eclipse、Maven、CDI(OpenWebBeans)、OmniFaces、PrimeFaces等等) 现在我们想从java 1.8和tomcat 7迁移到更新的版本。 问题 我们尝试在tomcat 9和openjdk 14上运行应用程序,但没有成功,因此我们尝试将所有依赖项升级到兼容版本。 现在,我们在启动tomcat(在Eclips

迁移JSF Web项目(Java和Tomcat)时OmniFaces/Xercex/命名冲突

简介
在过去的几年中,我们开始构建和开发企业JSF应用程序(Eclipse、Maven、CDI(OpenWebBeans)、OmniFaces、PrimeFaces等等) 现在我们想从java 1.8和tomcat 7迁移到更新的版本。

问题
我们尝试在tomcat 9和openjdk 14上运行应用程序,但没有成功,因此我们尝试将所有依赖项升级到兼容版本。
现在,我们在启动tomcat(在Eclipse2020-03中)时遇到了以下例外—不知道在哪里继续。

添加的文件
我添加了pom文件,在异常之后添加了依赖项和版本。如果您需要任何其他或更多详细信息,请随时询问。 我正在寻找任何人,谁可以告诉我正确的方向,我们使用的版本是错误的

例外情况: 异常会再重复两次-然后继续执行:

Juni 09, 2020 4:12:53 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-nio-8080"]
Juni 09, 2020 4:12:53 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service [Catalina]
Juni 09, 2020 4:12:53 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-nio-8080"]
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.catalina.loader.WebappClassLoaderBase (file:/N:/Entwicklung_Projekte/Projekt_Framework_41/JSF-Client/Forschung/Tomcat/apache-tomcat-9.0.36/lib/catalina.jar) to field java.io.ObjectStreamClass$Caches.localDescs
WARNING: Please consider reporting this to the maintainers of org.apache.catalina.loader.WebappClassLoaderBase
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
pom文件: (仅依赖项)


com.qsc.portalclient.framework
框架
0.0.1
org.primefaces
素面
8
org.primefaces.extensions
素数面扩展
8.0.2
org.primefaces.extensions
资源编辑
8.0.2
运行时
org.apache.myfaces.core
MyFacesAPI
2.3.6
org.apache.myfaces.core
MyFacesImpl
2.3.6
javax.enterprise
CDIAPI
2.0.SP1
org.apache.openwebbeans
openwebbeans impl
2.0.16
org.apache.openwebbeans
openwebbeans spi
2.0.16
org.apache.openwebbeans
openwebbeans web
2.0.16
org.apache.openwebbeans
openwebbeans jsf
2.0.16
org.apache.openwebbeans
openwebbeans-el22
2.0.16
javax.validation
验证api
2.0.1.最终版本
org.apache.commons
commons-lang3
3.10
javax.servlet.jsp
javax.servlet.jsp-api
2.3.3
javax.servlet.jsp.jstl
JSTLAPI
1.2
org.omnifaces
全方位
3.6

我终于找到了答案。

我发现以下问题已经得到了回答:

其中的解决方案是升级Xercex或将其从\lib中完全删除

我们使用的是内部Jar文件,该文件本身包含xercex的旧版本2.4.0。这就是问题的根源

在内部jar依赖性为我修复后,包括以下版本的xerxes:

<!-- https://mvnrepository.com/artifact/xerces/xercesImpl -->
<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.12.0</version>
</dependency>

薛西斯
干细胞移植
2.12.0

你的标题很糟糕。。。如果出现明显错误,请尝试在标题中使用该错误。试试看是否出现了什么问题(可能与jdk14有关,以获取有关检查的信息)
    <!-- framework.jar -->
    <dependency>
        <groupId>com.qsc.portalclient.framework</groupId>
        <artifactId>framework</artifactId>
        <version>0.0.1</version>
    </dependency>

    <!-- PrimeFaces -->
    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>8.0</version>
    </dependency>
    <dependency>
        <groupId>org.primefaces.extensions</groupId>
        <artifactId>primefaces-extensions</artifactId>
        <version>8.0.2</version>
    </dependency>

    <dependency>
        <groupId>org.primefaces.extensions</groupId>
        <artifactId>resources-ckeditor</artifactId>
        <version>8.0.2</version>
        <scope>runtime</scope>
    </dependency>

    <!-- JSF - Mojarra - API & IMPL -->
    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-api</artifactId>
        <version>2.3.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-impl</artifactId>
        <version>2.3.6</version>
    </dependency>


    <!-- CDI OpenWebBeans -->
    <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <version>2.0.SP1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-impl</artifactId>
        <version>2.0.16</version>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-spi</artifactId>
        <version>2.0.16</version>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-web</artifactId>
        <version>2.0.16</version>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-jsf</artifactId>
        <version>2.0.16</version>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-el22</artifactId>
        <version>2.0.16</version>
    </dependency>
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>2.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.10</version>
    </dependency>

    <!-- JSP Library -->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.3</version>
    </dependency>
    <!-- JSTL Library -->
    <dependency>
        <groupId>javax.servlet.jsp.jstl</groupId>
        <artifactId>jstl-api</artifactId>
        <version>1.2</version>
    </dependency>

    <!-- OmniFaces -->
    <dependency>
        <groupId>org.omnifaces</groupId>
        <artifactId>omnifaces</artifactId>
        <version>3.6</version>
    </dependency>
<!-- https://mvnrepository.com/artifact/xerces/xercesImpl -->
<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.12.0</version>
</dependency>