首页 > 解决方案 > JacksonAdapter 无法在 azure-core-1.20 和 Java Web 应用程序中正确解析

问题描述

我正在使用 azure-core-1.20 连接到 Azure KeyVault。它在第 35 行失败。

谁能看到这场冲突的原因?谢谢

通话失败:

失败的功能

java.lang.VerifyError: Bad return type
Exception Details:
  Location:
    com/fasterxml/jackson/databind/cfg/MapperBuilder.streamFactory()Lcom/fasterxml/jackson/core/TokenStreamFactory; @7: areturn
  Reason:
    Type 'com/fasterxml/jackson/core/JsonFactory' (current frame, stack[0]) is not assignable to 'com/fasterxml/jackson/core/TokenStreamFactory' (from method signature)
  Current Frame:
    bci: @7
    flags: { }
    locals: { 'com/fasterxml/jackson/databind/cfg/MapperBuilder' }
    stack: { 'com/fasterxml/jackson/core/JsonFactory' }
  Bytecode:
    0x0000000: 2ab4 0002 b600 08b0                    

    at com.fasterxml.jackson.databind.json.JsonMapper.builder(JsonMapper.java:114)
    at com.azure.core.util.serializer.JacksonAdapter.(JacksonAdapter.java:133)
    at com.azure.core.util.serializer.JacksonAdapter.createDefaultSerializerAdapter(JacksonAdapter.java:192)
    at com.azure.identity.implementation.IdentityClient.(IdentityClient.java:96)
    at com.azure.identity.implementation.IdentityClientBuilder.build(IdentityClientBuilder.java:113)
    at com.azure.identity.ManagedIdentityCredential.(ManagedIdentityCredential.java:39)
    at com.azure.identity.DefaultAzureCredentialBuilder.getCredentialsChain(DefaultAzureCredentialBuilder.java:129)
    at com.azure.identity.DefaultAzureCredentialBuilder.build(DefaultAzureCredentialBuilder.java:123)

应用程序的当前库: 天蓝色库 网络应用程序库

试试 Ivy,但现在 jackson 2.9.9 与 2.12.5 冲突。不知道杰克逊 2.9.9 来自哪里。常春藤报告显示没有版本 2.9.9

<dependencies>
        <dependency org="com.azure" name="azure-core" rev="1.21.0" conf="binaries->default" />
        <dependency org="com.novell.ldap" name="jldap" rev="2009-10-07" conf="binaries->default" />
        <dependency org="org.springframework" name="spring-jdbc" rev="5.3.11" conf="binaries->default" />
        <dependency org="org.apache.tomcat" name="tomcat-jdbc" rev="9.0.52" conf="binaries->default" />
        <dependency org="com.azure" name="azure-security-keyvault-secrets" rev="4.3.3" conf="binaries->default" />
        <dependency org="com.azure" name="azure-identity" rev="1.3.6" conf="binaries->default" />
        <dependency org="javax.resource" name="javax.resource-api" rev="1.7.1" conf="binaries->default" />
        <dependency org="org.springframework" name="spring-webmvc" rev="5.3.12" conf="binaries->default" />
        <dependency org="org.springframework" name="spring-context" rev="5.3.12" conf="binaries->default" />
        <!-- <dependency org="org.springframework" name="spring-jca" rev="2.0.8" conf="binaries->default" >
            <exclude module="spring-bean"></exclude>
            <exclude module="spring-core"></exclude>
            <exclude module="spring-dao"></exclude>
        </dependency>  -->
        <dependency org="commons-configuration" name="commons-configuration" rev="1.10" conf="binaries->default" />
        <dependency org="commons-collections" name="commons-collections" rev="3.2.2" conf="binaries->default" />
        <dependency org="displaytag" name="displaytag" rev="1.2" conf="binaries->default" >
            <exclude  module="jcl104-over-slf4j"></exclude>
            <exclude module="slf4j-log4j12"></exclude>
        </dependency> 
        <dependency org="com.google.code.gson" name="gson" rev="2.8.8" conf="binaries->default" />
        <dependency org="org.apache.struts" name="struts-core" rev="1.3.10" conf="binaries->default" />
        <dependency org="org.apache.struts" name="struts-taglib" rev="1.3.10" conf="binaries->default" />
        <dependency org="org.apache.struts" name="struts-extras" rev="1.3.10" conf="binaries->default" />
        <dependency org="org.apache.struts" name="struts-tiles" rev="1.3.10" conf="binaries->default" />
        <dependency org="org.apache.struts" name="struts-el" rev="1.3.10" conf="binaries->default" />
        <dependency org="org.apache.struts" name="struts-faces" rev="1.3.10" conf="binaries->default" />
        <dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.14.1" conf="binaries->default" />
        <dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.14.1" conf="binaries->default" />
        <dependency org="org.apache.logging.log4j" name="log4j-slf4j-impl" rev="2.14.1" conf="binaries->default" />
        <dependency org="org.slf4j" name="slf4j-api" rev="1.7.32" conf="binaries->default" />
        <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.32" conf="binaries->default" />
        <dependency org="org.slf4j" name="slf4j-simple" rev="1.7.32" conf="binaries->default" />
        <dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.7.32" conf="binaries->default"  />
    </dependencies>

标签: javaazureantjacksonjackson-databind

解决方案


尝试更新到这个依赖兼容版本包安装


推荐阅读