2

因为我迁移到 jdk9 我在运行时收到以下错误:

 java.lang.NoClassDefFoundError: javax/xml/ws/Service

我没有收到编译错误,但只有运行时错误。模块信息如下:

module CXFPExGenCaller {
    requires java.xml;
    requires java.logging;
    requires java.xml.bind;
    requires java.xml.ws;
    exports ......;
}

并且 pom.xml 包含以下依赖项:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.2.12-b141001.1542</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.2.11</version>
    <scope>test</scope>
</dependency>

即使我尝试了不同的配置,最终的结果仍然是这个烦人的错误!有人知道这里发生了什么吗?

4

1 回答 1

0

我已经理解了我正在做的错误,尝试以下答案: Jdk9 module concept

我正在使用 JUnit 在 IntelliJ IDE 上测试我的类,并且我只设置编译器选项,而不是根据下图设置运行时的 VM 选项: 在 JUnit 测试中设置模块选项 我不确定这是最佳实践,但这解决了我当前的问题

于 2018-04-11T10:32:20.523 回答