问题
在写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;
}