java 9模块,NoClassDefFoundError:java.sql.Date

问题描述 投票:0回答:1

我尝试用java 9运行我们的java 8 gradle项目,因为我们正在寻求迁移到它。但是,在执行单元测试时,我得到了一个

java.lang.ClassNotFoundException: java.sql.Date例外

com.fasterxml.jackson.databind.deser.std.DateDeserializers抛出

在代码中看起来像这样:

static {
    Class<?>[] numberTypes = new Class<?>[] {
        ...
        java.sql.Date.class,
        ...
    };
    ...
}

我在互联网上环顾四周,显然,如果你想避免为每个模块制作一个module-info.java文件,你必须添加参数--add-modules java.sql

我正在使用intellij,并将参数添加到File>Settings>Build,Execution,Deployment>Compiler>Java Compiler中的javac参数以及运行配置中作为VM选项,但我仍然得到一个例外。

有没有更简单的方法来做到这一点,或者我做错了什么?谢谢

编辑:IntelliJ版本:

IntelliJ IDEA 2018.1.5 (Community Edition)
Build #IC-181.5281.24, built on June 12, 2018
JRE: 1.8.0_152-release-1136-b39 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
java gradle intellij-idea java-9
1个回答
0
投票

我删除了jdk9并重新添加后,问题就解决了。

© www.soinside.com 2019 - 2024. All rights reserved.