agentscope-ai/agentscope-java

[Bug]:mcp服务在docker环境部署使用时,会出现报错:java.lang.IllegalStateException: java.lang.IllegalStateException: No default JsonSchemaValidatorSupplier implementation found

Open

#913 opened on Mar 10, 2026

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Java (3,253 stars) (693 forks)user submission
bughelp wanted

Description

AgentScope-Java is an open-source project. To involve a broader community, we recommend asking your questions in English.

Describe the bug mcp服务在docker环境部署使用时,会出现报错:java.lang.IllegalStateException: java.lang.IllegalStateException: No default JsonSchemaValidatorSupplier implementation found

原因是:在JsonSchemaInternal.createDefaultValidator()方法,通过ServiceLoader.load(JsonSchemaValidatorSupplier.class)无法获取到JacksonJsonSchemaValidatorSupplier

暂时规避方案:创建META-INF/services/io.modelcontextprotocol.json.schema.JsonSchemaValidatorSupplier文件 增加内容:io.modelcontextprotocol.json.schema.jackson.JacksonJsonSchemaValidatorSupplier

在mcp-java中也有类似反馈 希望agentscope-java官方可以关注,解决此类问题 参考:https://github.com/modelcontextprotocol/java-sdk/issues/574

To Reproduce Steps to reproduce the behavior:

完整堆栈信息如下:

java.lang.IllegalStateException: java.lang.IllegalStateException: No default JsonSchemaValidatorSupplier implementation found at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na] at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[na:na] at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[na:na] at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:562) ~[na:na] at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:591) ~[na:na] at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:689) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp$OfInt.evaluateParallel(ForEachOps.java:188) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[na:na] at java.base/java.util.stream.IntPipeline.forEach(IntPipeline.java:463) ~[na:na] at java.base/java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:620) ~[na:na] at com.ziru.ai.agent.agentscope.tripsuggest.tool.batch.TransportationQueryBatchTool.transportationQueryBatchTool(TransportationQueryBatchTool.java:62) ~[!/:0.0.1-SNAPSHOT] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at io.agentscope.core.tool.ToolMethodInvoker.lambda$invokeAsync$6(ToolMethodInvoker.java:115) ~[agentscope-1.0.9.jar!/:na] at reactor.core.publisher.MonoCallable$MonoCallableSubscription.request(MonoCallable.java:137) ~[reactor-core-3.6.7.jar!/:3.6.7] at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) ~[reactor-core-3.6.7.jar!/:3.6.7] at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74) ~[reactor-core-3.6.7.jar!/:3.6.7] at io.agentscope.core.tracing.TracerRegistry$1.onSubscribe(TracerRegistry.java:83) ~[agentscope-1.0.9.jar!/:na] at reactor.core.publisher.MonoCallable.subscribe(MonoCallable.java:48) ~[reactor-core-3.6.7.jar!/:3.6.7] at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) ~[reactor-core-3.6.7.jar!/:3.6.7] at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) ~[reactor-core-3.6.7.jar!/:3.6.7] at reactor.core.publisher.Mono.subscrib e(Mono.java:4568) ~[reactor-core-3.6.7.jar!/:3.6.7] at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:126) ~[reactor-core-3.6.7.jar!/:3.6.7] at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84) ~[reactor-core-3.6.7.jar!/:3.6.7] at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37) ~[reactor-core-3.6.7.jar!/:3.6.7] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na] at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na] Caused by: java.lang.IllegalStateException: No default JsonSchemaValidatorSupplier implementation found at io.modelcontextprotocol.json.schema.JsonSchemaInternal.lambda$createDefaultValidator$2(JsonSchemaInternal.java:66) ~[mcp-json-0.17.0.jar!/:0.17.0] at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at io.modelcontextprotocol.json.schema.JsonSchemaInternal.createDefaultValidator(JsonSchemaInternal.java:61) ~[mcp-json-0.17.0.jar!/:0.17.0] at io.modelcontextprotocol.json.schema.JsonSchemaInternal.getDefaultValidator(JsonSchemaInternal.java:30) ~[mcp-json-0.17.0.jar!/:0.17.0] at io.modelcontextprotocol.json.schema.JsonSchemaValidator.getDefault(JsonSchemaValidator.java:61) ~[mcp-json-0.17.0.jar!/:0.17.0] at io.modelcontextprotocol.client.McpClient$SyncSpec.build(McpClient.java:478) ~[mcp-core-0.17.0.jar!/:0.17.0] at io.agentscope.core.tool.mcp.McpClientBuilder.buildSync(McpClientBuilder.java:341) ~[agentscope-1.0.9.jar!/:na] at com.ziru.ai.agent.agentscope.tripsuggest.tool.batch.TransportationQueryBatchTool.buildTransportationAgent(TransportationQueryBatchTool.java:120) ~[!/:0.0.1-SNAPSHOT] at com.ziru.ai.agent.agentscope.tripsuggest.tool.batch.TransportationQueryBatchTool.lambda$transportationQueryBatchTool$0(TransportationQueryBatchTool.java:69) ~[!/:0.0.1-SNAPSHOT] at java.base/java.util.stream.ForEachOps$ForEachOp$OfInt.accept(ForEachOps.java:204) ~[na:na] at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104) ~[na:na] at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[na:na] at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[na:na] at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na] at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[na:na] at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[na:na] at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[na:na] at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[na:na] Expected behavior A clear and concise description of what you expected to happen.

Error messages Detailed error messages.

Environment (please complete the following information):

  • AgentScope-Java Version: [e.g. 1.0.9, check your pom.xml dependency version or run mvn dependency:tree | grep agentscope-parent:pom(only mac/linux)]
  • Java Version: [e.g. 17]
  • OS: [e.g. macos, windows]

Additional context Add any other context about the problem here.

Contributor guide