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

时间:2018-07-16 13:01:36

标签: java gradle intellij-idea java-9

我试图用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,
        ...
    };
    ...
}

我在Internet上四处查看,显然,如果您想避免为每个模块制作一个module-info.java文件,则必须添加参数--add-modules java.sql

我使用的是intellij,并且已将参数添加到File>Settings>Build,Execution,Deployment>Compiler>Java Compiler中的javac参数中,并且还在以虚拟机方式运行的配置选项中添加了javac参数,但是仍然出现异常。

是否有更简单的方法来执行此操作,或者我做错了什么? 谢谢

编辑: 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

1 个答案:

答案 0 :(得分:0)

在我删除了jdk9并重新添加它之后,问题得以解决。