java - 序列化时杰克逊 InvalidDefinitionException
问题描述
正如我在标题中所说,我试图序列化一个非常简单的对象,但这会带来很多问题。我要发布代码和错误(非常简单和简短)。
package assignment6;
public class Transaction {
private String date;
private String causal;
public Transaction() {}
public String getDate() { return this.date; }
public String getCausal() { return this.causal; }
public void setDate(String date) { this.date = date; }
public void setCausal(String causal) { this.causal = causal; }
}
package assignment6;
import java.io.*;
import com.fasterxml.jackson.databind.ObjectMapper;
public class MainClass {
public static void main (String[] args) {
ObjectMapper om = new ObjectMapper();
Transaction t = new Transaction();
t.setDate("07/11/2020");
t.setCausal("pagobancomat");
File f = new File("try.json");
try {
f.createNewFile();
om.writeValue(f, t);
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
com.fasterxml.jackson.databind.exc.InvalidDefinitionException:类型的类型定义无效
assignment6.Transaction
:无法为 [简单类型,类 assignment6.Transaction] 构造 BeanSerializer:(java.lang.reflect.InaccessibleObjectException) 无法使公共 java.lang.String assignment6.Transaction.getDate() 可访问:模块 reti 不“导出 assignment6 " 到 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:72) 的 com.fasterxml.jackson 的模块 com.fasterxml.jackson.databind。 databind@2.9.7/com.fasterxml.jackson.databind.SerializerProvider.reportBadTypeDefinition(SerializerProvider.java:1163) 在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.ser.BeanSerializerFactory.constructBeanSerializer (BeanSerializerFactory.java:438) 在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.ser.BeanSerializerFactory。在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.ser.BeanSerializerFactory._createSerializer2(BeanSerializerFactory.java:231) 在 com.fasterxml.jackson.databind@ 找到BeanSerializer(BeanSerializerFactory.java:279) 2.9.7/com.fasterxml.jackson.databind.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:165) 在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.SerializerProvider._createUntypedSerializer(SerializerProvider .java:1388) 在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:1336) 在 com.fasterxml.jackson.databind@2.9.7/com .fasterxml.jackson.databind.SerializerProvider.findValueSerializer(SerializerProvider.java:510) 在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind。SerializerProvider.findTypedValueSerializer(SerializerProvider.java:713) 在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:308) 在 com.fasterxml.jackson。 databind@2.9.7/com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3905) 在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper .java:3159) 在 reti/assignment6.MainClass.main(MainClass.java:26)_configAndWriteValue(ObjectMapper.java:3905) 在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:3159) 在 reti/assignment6.MainClass.main(MainClass.爪哇:26)_configAndWriteValue(ObjectMapper.java:3905) 在 com.fasterxml.jackson.databind@2.9.7/com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:3159) 在 reti/assignment6.MainClass.main(MainClass.爪哇:26)
我已经完成了..不知道如何解决这个问题,有什么提示吗?上 1
解决方案
推荐阅读
- android - 使用片段在 kotlin 中应用多语言
- python - PDF拆分后的“文件未打开以供阅读”烧瓶
- javascript - 在状态对象中存储 API 请求的结果时,无法访问对象中的数据
- javascript - 如何根据 thml 中的 trackid 获取artifact_url
- highcharts - 更新 xAxis 单个标签位置以打印 Highcharts
- java - 从 Java 转换为 C# - 使用 PKCS5Padding 解密 CBC-AES-256
- python - 如何取消引用 Python DummyVecEnv OpenAI 健身房环境向量的元素?
- python - 实例变量比数据描述符具有更高的优先级?
- android - Kotlin - 将 ksoap2 作为协程与异步运行 - 哪个更好?
- powershell - 得到两次真实