【问题标题】:Getting "http://javax.xml.XMLConstants/property/accessExternalDTD property not supported" in JBoss and using springboot在 JBoss 中获取“http://javax.xml.XMLConstants/property/accessExternalDTD 属性不支持”并使用 springboot
【发布时间】:2022-11-11 07:14:01
【问题描述】:

在将我们的应用程序升级到 Spring Boot 2.6.6 并结合 JBoss 7.3 之后,我们在每次 xml 验证时都会收到以下警告:

2022-04-13 14:18:39,433 WARN  [org.springframework.xml.validation.Jaxp15ValidatorFactory] (default task-2) http://javax.xml.XMLConstants/property/accessExternalDTD property not supported by org.apache.xerces.jaxp.validation.ValidatorImpl
2022-04-13 14:18:39,433 WARN  [org.springframework.xml.validation.Jaxp15ValidatorFactory] (default task-1) http://javax.xml.XMLConstants/property/accessExternalSchema property not supported by org.apache.xerces.jaxp.validation.ValidatorImpl

由于大量的验证,JBoss 磁盘充满了日志警告,导致磁盘已满。

最明显的解决方案是不使用 JBoss,但不幸的是,这在我们的生产环境中是不可能的。

【问题讨论】:

    标签: java spring-boot jboss


    【解决方案1】:

    警告的原因是 JBoss 7.3 正在使用不支持以下属性的旧 Xerces 库 (2.2.12.0.SP03):accessExternalDTD 和 accessExternalSchema 和 spring-boot (2.6.6) 期望支持此功能并在以下情况下记录警告不支持。

    通常您应该更新到较新版本的 Xerces 库,但对于 JBoss,这是不可能的,因为 Xerces 库与 JBoss 打包在一起。

    解决方案是将 JBoss 中的日志记录设置更改为该特定日志记录的错误级别。这可以通过以下命令完成:

    ${JBOSS_HOME}/bin/jboss-cli.sh --connect controller=localhost:9990 --user=<admin user> --password=<password> --command="/subsystem=logging/logger=org.springframework.xml.validation.Jaxp15ValidatorFactory:add"
    ${JBOSS_HOME}/bin/jboss-cli.sh --connect controller=localhost:9990 --user=<admin user> --password=<password> --command="/subsystem=logging/logger=org.springframework.xml.validation.Jaxp15ValidatorFactory:write-attribute(name=level, value=ERROR)"
    

    【讨论】:

      【解决方案2】:

      ValidatorFactory 提供的实现不支持上述属性。

      正如@Gerard 的回答中提到的,JBoss org.apache.xerces 依赖提供了它的实现。

      您可以将程序配置为使用支持或忽略上述属性的实现。

      我在另一个similar answer 中详细阐述了细节。

      【讨论】:

        猜你喜欢
        • 2022-12-28
        • 1970-01-01
        • 1970-01-01
        • 2019-03-10
        • 1970-01-01
        • 1970-01-01
        • 2019-12-21
        • 2011-12-05
        • 1970-01-01
        相关资源
        最近更新 更多