Java 夸克斯和杰克逊的奇怪龙目羚行为
现在我面临一个奇怪的问题。我在Quarkus项目中使用lombok自动生成getter、setter等。当我将Quarkus编译为本机映像时,Jackson拒绝序列化Lombok数据对象,但序列化另一个数据对象时没有问题 更奇怪的是,只有在编译本机二进制文件并将其嵌入容器时,才会发生此错误。在“quarkus:dev”概要文件中运行这两个示例是完美的 此类中的对象将被序列化:Java 夸克斯和杰克逊的奇怪龙目羚行为,java,lombok,quarkus,Java,Lombok,Quarkus,现在我面临一个奇怪的问题。我在Quarkus项目中使用lombok自动生成getter、setter等。当我将Quarkus编译为本机映像时,Jackson拒绝序列化Lombok数据对象,但序列化另一个数据对象时没有问题 更奇怪的是,只有在编译本机二进制文件并将其嵌入容器时,才会发生此错误。在“quarkus:dev”概要文件中运行这两个示例是完美的 此类中的对象将被序列化: @数据 @实体 @建筑商 @诺尔格构装师 @AllArgsConstructor @表(name=“账户”) 公共类会计
@数据
@实体
@建筑商
@诺尔格构装师
@AllArgsConstructor
@表(name=“账户”)
公共类会计实体{
@身份证
@GeneratedValue(generator=“UUID”)
@GenericGenerator(name=“UUID”,strategy=“org.hibernate.id.UUIDGenerator”)
@列(name=“id”,updateable=false,nullable=false)
私有UUID;
@列(unique=true,name=“username”,nullable=false)
私有字符串用户名;
@列(unique=true,name=“mail”,nullable=false)
私人字符串邮件;
@列(name=“password”,null=false)
私有字符串密码;
}
此类中的对象无法获取:
@Getter
@AllArgsConstructor
公共类登录响应{
私有最终字符串令牌;
}
错误消息:
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class de.alexzimmer.pwa.model.LoginResponse and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)
但是,即使我查看生成的类文件,我也可以看到生成的两个类的公共getter。我很感谢大家对如何实现这一目标的建议和想法
谢谢 您必须通过添加
@RegisterForReflection
注释来注册此类以进行反射
它适用于第一个对象,因为它是一个实体,这是自动完成的
请参阅以获取完整的解释
我可能会在那里添加Jackson错误消息,以便更容易找到它