【问题标题】:Annotations from javax.xml.bind.annotation not working on payara 5 jdk 11javax.xml.bind.annotation 的注释在 payara 5 jdk 11 上不起作用
【发布时间】:2020-10-21 12:12:10
【问题描述】:

我正在使用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 throw 异常,但什么也没发生。

我在 JDK 11 中读到了这个包被排除在外,并且我还在 pom 中添加了推荐的依赖项,但仍然没有区别。而且,正如我所说,我没有错误。

【问题讨论】:

  • 你部署依赖了吗?
  • 在.ear 里面我有.war,在web-inf\lib 里面我可以找到这些依赖项
  • 您是否按照stackoverflow.com/a/48204154/784594 中的说明将jaxb-impl 添加到您的应用程序中? jaxb-impl JAR 在 WAR 中的 web-inf/lib 文件夹中吗?

标签: java docker jakarta-ee java-11 payara


【解决方案1】:

我需要提一下,我正在从 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

作为替代品。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-03
    • 2022-08-15
    • 2014-08-14
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多