问题描述
我正在使用docker payara/server-full:5.2020.5-jdk11 image
。我部署了使用JDK 11
构建的java ee应用程序。我有一些DTO,其中有如下注释:
@XmlJavaTypeAdapter(DateTimeAdapter.class)
private Date creationDate;
private SomeEnum enumm;
@XmlEnum
public enum SomeEnum {
@XmlEnumValue("U")
USER;
}
并且这些注释不起作用(在发出休息请求时)。运行时没有错误。注释将被忽略。我测试了在适配器中添加ie抛出异常,但没有任何反应。
我了解到在JDK 11中不包含此程序包,我还向pom
添加了推荐的依赖项,但仍然没有区别。而且,正如我所说,我没有错误。
解决方法
我需要提及的是,我正在从payara 4迁移。
我认为我的问题与以下主题有关:
JSON Binding @JsonbTypeDeserializer annotation ignored on enums?
Glassfish 5 ignores JAXB @XmlJavaTypeAdapter annotation?
How do I configure Glassfish 5 to use Moxy as the default Provider?
现在我决定使用:
@JsonbDateFormat
// and
@JsonbTypeAdapter
作为替代。