簡體   English   中英

JBoss - 忽略 fastxml 排除項的應用程序部署

[英]JBoss - App deployment ignoring fasterxml exclusions

I've got an app deployed to a JBoss 7.2 instance that's explicitly using a defined fasterxml.jackson library: 'com.fasterxml.jackson.core:jackson-databind:2.12.6' However during runtime, I'm getting an error for jackson 的不同版本: 2.9.10.4-redhat-00001 作為 JBoss 模塊加載的模塊。

如何完全排除它被應用程序使用? 我已經執行了以下操作,但似乎沒有一個工作:

  1. 排除從 maven 下拉的所有其他 jackson 庫。
  2. 在構建期間將正確的 jackson 庫強制放入 WAR/lib 文件夾。
  3. jboss-deployment-structure.xml中將所有 jackson 庫調用為<exclusion></exclusion>
  4. 我什至將應用程序轉換為使用jackson codehaus ,但jackson:2.9.10.4-redhat-00001的錯誤仍然存在。

錯誤

Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `java.time.ZonedDateTime` (no Creators, like default construct, exist): no String-argument constructor/factory method to deserialize from String value ('2022-01-21T19:00:00Z')  at [Source: (org.jboss.resteasy.client.core.BaseClientResponse$InputStreamWrapper); line: 1, column: 12] (through reference chain: com.app.domainobjects.proxy.Object["body"])
    at com.fasterxml.jackson.core.jackson-databind@2.9.10.4-redhat-00001//com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)

jboss-部署結構.xml

<?xml version="1.0"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <dependencies>
            <module name="org.picketbox"/>
            <module name="org.wildfly.clustering.singleton"/>
            <module name="org.jboss.as.server"/>
            <module name="org.jboss.msc"/>
        </dependencies>
         <exclusions>
            <module name="com.fasterxml.classmate" />
            <module name="com.fasterxml.jackson.core.jackson-core" />
            <module name="com.fasterxml.jackson.core.jackson-annotations" />
            <module name="com.fasterxml.jackson.core.jackson-databind" />
            <module name="com.fasterxml.jackson.datatype.jackson-datatype-jdk8" />
            <module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310" />
            <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson2-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson-provider" />
        </exclusions>
    </deployment>

    <sub-deployment name="app.war">
         <exclusions>
            <module name="com.fasterxml.classmate" />
            <module name="com.fasterxml.jackson.core.jackson-core" />
            <module name="com.fasterxml.jackson.core.jackson-annotations" />
            <module name="com.fasterxml.jackson.core.jackson-databind" />
            <module name="com.fasterxml.jackson.datatype.jackson-datatype-jdk8" />
            <module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310" />
            <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson2-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson-provider" />
        </exclusions>
    </sub-deployment>

</jboss-deployment-structure>

嘗試通過 jboss-deployment-structure.xml 排除 jackson 默認實現:

<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="com.fasterxml.jackson.core.jackson-core" />
            <module name="com.fasterxml.jackson.core.jackson-databind" />
            <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson2-provider" />
        </exclusions>
    </deployment>
</jboss-deployment-structure> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM