gpt4 book ai didi

spring-test - JDK 9 : JUnit 5 test compile with SpringExtension produces java. lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS

转载 作者:行者123 更新时间:2023-12-04 15:07:29 25 4
gpt4 key购买 nike

我相信这个问题与 JDK 9 中的模块排除无关(如 java.se.ee),而是与 JDK 9 包含更新版本的 org.w3c.dom.ls 的事实有关。在 java.xml没有 DocumentLS 类的模块。

堆栈跟踪的重要一点是:

Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring-test/test-container.xml]; nested exception is java.lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:414)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)

即使我在此类中包含运行时依赖项,例如 xerces:xerces 2.4.0 ,JDK java.xml 模块是首选(我猜)。

我正在使用 Gradle 4.1。有没有办法限制a的范围
JDK提供的模块?

最佳答案

据我所知,DocumentLS 来自 2002 年的 W3C API 草案,它似乎没有成为发布版本。看起来 xerces-2.4.0(从 2006 年开始?)包含它,但较新的版本没有。因此,这里可能需要升级到更新的 Xerces。如果 Spring 真的依赖 DocumentLS,那么它也需要更新。

关于spring-test - JDK 9 : JUnit 5 test compile with SpringExtension produces java. lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45723488/

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