You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven构建提示net.minidev:json-smart指定版本范围无可用版本,升级azure-identity后Azure连接失败的问题求助

Maven构建提示net.minidev:json-smart指定版本范围无可用版本,升级azure-identity后Azure连接失败的问题求助

各位好,今天早上我突然遇到了Maven构建失败的问题,之前项目一直都能正常构建,完全没出过问题,现在卡在依赖解析环节了,想请大家帮忙分析下原因,还有后续的解决办法。

一、构建报错信息

构建时直接抛出版本范围匹配失败的错误:

[ERROR] No versions available for net.minidev:json-smart:jar:[1.3.3,2.4.8] within specified range
[ERROR] No versions available for net.minidev:json-smart:jar:[1.3.1,2.3] within specified range

二、我的环境信息

  • Java版本:
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (Temurin)(build 25.382-b05, mixed mode)
  • Maven版本:3.9.9

三、项目依赖配置(POM.xml核心部分)

我的项目主要用于连接Azure并调用其API,POM的依赖配置如下:

<dependencies>
        <dependency>
            <groupId>com.microsoft.graph</groupId>
            <artifactId>microsoft-graph</artifactId>
            <version>5.53.0</version>
        </dependency>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-identity</artifactId>
            <version>1.8.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.20.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.20.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.2.2</version>
        </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.10.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.redisson</groupId>
      <artifactId>redisson</artifactId>
      <version>3.20.0</version>
    </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.4</version>
        </dependency>
    </dependencies>

四、依赖传递分析

我排查了Maven依赖树,发现问题是通过以下传递路径产生的:

com.azure:azure-identity:jar:1.8.2 -> com.microsoft.azure:msal4j:jar:1.13.7 -> com.nimbusds:oauth2-oidc-sdk:jar:9.35 -> net.minidev:json-smart:jar:[1.3.3,2.4.8]

五、尝试的解决方法及新问题

我尝试把azure-identity的版本从1.8.2升级到1.12.2,这时候Maven构建成功了,但运行代码连接Azure时又出现了新的错误:

连接错误日志1:

java.util.concurrent.ExecutionException: com.microsoft.aad.msal4j.MsalClientException: java.io.UncheckedIOException: io.netty.channel.StacklessClosedChannelException

java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.microsoft.aad.msal4j.MsalClientException: java.io.UncheckedIOException: io.netty.channel.StacklessClosedChannelException
    at com.azure.identity.implementation.IdentitySyncClient.authenticateWithConfidentialClient(IdentitySyncClient.java:142) ~[azure-identity-1.12.2.jar:1.12.2]
    at com.azure.identity.ClientSecretCredential.getTokenSync(ClientSecretCredential.java:136) ~[azure-identity-1.12.2.jar:1.12.2]

连接错误日志2:

java.lang.NoClassDefFoundError: io/netty/handler/codec/http/HttpDecoderConfig
    at reactor.netty.http.client.HttpClientConfig.configureHttp11Pipeline(HttpClientConfig.java:684) ~[reactor-netty-http-1.0.45.jar:1.0.45]
    at reactor.netty.http.client.HttpClientConfig$HttpClientChannelInitializer.onChannelInit(HttpClientConfig.java:956) ~[reactor-netty-http-1.0.45.jar:1.0.45]
    at reactor.netty.transport.TransportConfig$TransportChannelInitializer.initChannel(TransportConfig.java:418) ~[reactor-netty-core-1.0.45.jar:1.0.45]
    at io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1114) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:181) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:358) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.DefaultChannelPipeline.addFirst(DefaultChannelPipeline.java:339) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnectionAllocator$PooledConnectionInitializer.initChannel(DefaultPooledConnectionProvider.java:546) ~[reactor-netty-core-1.0.45.jar:1.0.45]
    at io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1114) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:46) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1463) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1115) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:650) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:514) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at io.netty.channel.AbstractChannel$AbstractUnsafe.register(AbstractChannel.java:480) ~[netty-transport-4.1.89.Final.jar:4.1.89.Final]
    at reactor.netty.transport.TransportConnector.doInitAndRegister(TransportConnector.java:293) ~[reactor-netty-core-1.0.45.jar:1.0.45]
    at reactor.netty.transport.TransportConnector.lambda$connect$3(TransportConnector.java:170) ~[reactor-netty-core-1.0.45.jar:1.0.45]
    at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.resubscribe(FluxRetryWhen.java:216) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onNext(FluxRetryWhen.java:269) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:258) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:863) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187) ~[reactor-core-3.5.3.jar:3.5.3]
    at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:236) ~[reactor-core-3.5.3.jar:3.5.3]

我的Azure连接代码如下:

TokenRequestContext tokenRequestContext = new TokenRequestContext();
AccessToken accessToken = new ClientSecretCredentialBuilder().clientId(clientId).clientSecret(clientSecret)
        .tenantId(tenantId).build().getTokenSync(tokenRequestContext.addScopes((".default")));

我的疑问

  1. 为什么突然会出现net.minidev:json-smart指定版本范围内找不到可用版本的情况?之前一直都能正常解析,是不是maven-metadata.xml有什么变化?但这个我完全没法控制,都是依赖自动下载的。
  2. 升级azure-identity后构建成功了,但连接Azure报错,这个Netty相关的错误怎么解决?有没有办法在不升级azure-identity的前提下,先解决最初的构建依赖问题?

麻烦各位帮忙看看,谢谢了!

备注:内容来源于stack exchange,提问作者Avinash Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 03:38:00