如何解决Jackson ObjectMapper 异常:类型“Person”的类型定义无效
我收到此异常:
com.fasterxml.jackson.databind.exc.InvalidDefinitionException:类型'main.Person'的类型定义无效:无法为[简单类型,类main.Person]构造BeanSerializer:(java.lang.reflect.InaccessibleObjectException)无法使公共 java.lang.String main.Person.getFirstname() 可访问:模块 JsonTest 不会“导出 main”到模块 com.fasterxml.jackson.databind
我是杰克逊的新手,我不明白出了什么问题。 我在网上找不到任何内容,所以也许你可以帮助我。
我的代码如下:
public class Person {
private String firstname;
private String lastname;
private int id;
public Person(String firstname,String lastname,int id) {
this.firstname = firstname;
this.lastname = lastname;
this.id=id;
}
public String getFirstname() {
return this.firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return this.lastname;
}
public void setLastname(String firstname) {
this.lastname = firstname;
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
}
import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Test {
public static void main(String[] args) throws JsonGenerationException,JsonMappingException,IOException {
ObjectMapper objectMapper = new ObjectMapper();
File file = new File("Desktop/test.json");
Person per = new Person("peter","lol",2);
objectMapper.writeValue(file,per);
}
}
没什么特别的,但仍然无法正常工作:( 我将 Jackson .jar 库导入到我的 Eclipse java 项目中,也许这就是您需要的信息。
问候
解决方法
解决方案是我需要在模块中导出我的包
module JacksonTest {
requires com.fasterxml.jackson.databind;
exports myPackage; // <--- Solution
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。