Java9 以上反射报错

Java9 以上反射报错

问题

  在写javaFx的时候,进行http请求数据库登录操作,要将返回的json字符串转化类对象,下面代码一直报错。

// json字符串转类对象
JavaType javaType;
ResponseBean<T> data = new ObjectMapper().readValue(json, javaType);

  报了如下错误:

java.lang.reflect.InaccessibleObjectException: Unable to make protected cc.nsurl.bean.ResponseBean() accessible: module cc.nsurl.controllers does not "opens cc.nsurl.bean" to module com.fasterxml.jackson.databind

  打不开类,就无法反射。

解决

  在 javaFx 项目中添加文件 module-info.java ,整体项目结构如下:

-- src
   -- main
       -- java
          -- module-info.java

在此java文件中配置:

module cc.nsurl.controllers {
    // 需要反射的类  opens  自己写的类  to  第三方库
    opens cc.nsurl.controllers to javafx.fxml;
    opens cc.nsurl.bean to com.fasterxml.jackson.databind;
    exports cc.nsurl.controllers;
}
上一篇:Non-IID data and Continual Learning processes in Federated Learning: A long road ahead 论文阅读


下一篇:java版本