agentscope-ai / agentscope-ai/agentscope-java
[Bug]:mcp服务在docker环境部署使用时,会出现报错:java.lang.IllegalStateException: java.lang.IllegalStateException: No default JsonSchemaValidatorSupplier implementation found
- Linguagem predominante
- Java
- Estrelas
- 5.6k
- Forks
- 1.3k
- Merge médio
- 4d 12h
- PRs com merge (30d)
- 77
Descrição
**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.
Guia de contribuição
Avaliação
Esta issue ainda não foi avaliada.