小编Chr*_*son的帖子

JDK 9:使用SpringExtension进行JUnit 5测试编译会产生java.lang.NoClassDefFoundError:org/w3c/dom/ls/DocumentLS

我认为这个问题与JDK 9中的模块排除无关(与java.se.ee一样),而是JDK 9 在java.xml模块中包含更新版本的org.w3c.dom.ls没有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)
Run Code Online (Sandbox Code Playgroud)

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

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

spring-test java-9 junit5

6
推荐指数
1
解决办法
2115
查看次数

标签 统计

java-9 ×1

junit5 ×1

spring-test ×1