<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-bom</artifactId> <version>1.0.0-SNAPSHOT</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
这个pom打开看一下,可以看到这个group:org.springframework.ai 下的茫茫多依赖
上面这个标签是引入集中管理版本,意思就是模块可以不申明版本号,那么我关心的是当前项目引用了这些依赖了吗
mvn dependency:tree 看下,可以参考最后内容
这里说下观察的结论
(1)dependencyManagement是不会给项目引入依赖
(2)spring-ai-starter-mcp-server-webmvc
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-starter-mcp-server-webmvc</artifactId> </dependency>
这个mcp-webmvc的依赖
(1) 包含spring-boot-starter:jar:3.4.5 + org.springframework.ai:spring-ai-mcp:jar +io.modelcontextprotocol.sdk:mcp-spring-webmvc+org.springframework.boot:spring-boot-starter-web
(2) 其中spring-ai-mcp是带了spring-ai-chat 和 io.modelcontextprotocol.sdk:mcp:jar
(3) spring-boot-starter-web是含有嵌入式tomcat的,可以打成jar运行
io.modelcontextprotocol.sdk 开头的就是这里的:https://github.com/modelcontextprotocol/java-sdk
[INFO] com.example:mcp-weather-starter-webmvc-server:jar:0.0.1-SNAPSHOT
[INFO] \- org.springframework.ai:spring-ai-starter-mcp-server-webmvc:jar:1.0.0-SNAPSHOT:compile
[INFO] +- org.springframework.boot:spring-boot-starter:jar:3.4.5:compile
[INFO] | +- org.springframework.boot:spring-boot:jar:3.4.5:compile
[INFO] | | \- org.springframework:spring-context:jar:6.2.6:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:3.4.5:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:3.4.5:compile
[INFO] | | +- ch.qos.logback:logback-classic:jar:1.5.18:compile
[INFO] | | | \- ch.qos.logback:logback-core:jar:1.5.18:compile
[INFO] | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.24.3:compile
[INFO] | | | \- org.apache.logging.log4j:log4j-api:jar:2.24.3:compile
[INFO] | | \- org.slf4j:jul-to-slf4j:jar:2.0.17:compile
[INFO] | +- jakarta.annotation:jakarta.annotation-api:jar:2.1.1:compile
[INFO] | +- org.springframework:spring-core:jar:6.2.6:compile
[INFO] | | \- org.springframework:spring-jcl:jar:6.2.6:compile
[INFO] | \- org.yaml:snakeyaml:jar:2.3:compile
[INFO] +- org.springframework.ai:spring-ai-autoconfigure-mcp-server:jar:1.0.0-SNAPSHOT:compile
[INFO] +- org.springframework.ai:spring-ai-mcp:jar:1.0.0-SNAPSHOT:compile
[INFO] | +- io.modelcontextprotocol.sdk:mcp:jar:0.10.0:compile
[INFO] | | +- org.slf4j:slf4j-api:jar:2.0.17:compile
[INFO] | | +- com.fasterxml.jackson.core:jackson-databind:jar:2.18.3:compile
[INFO] | | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.18.3:compile
[INFO] | | | \- com.fasterxml.jackson.core:jackson-core:jar:2.18.3:compile
[INFO] | | \- io.projectreactor:reactor-core:jar:3.7.5:compile
[INFO] | | \- org.reactivestreams:reactive-streams:jar:1.0.4:compile
[INFO] | \- org.springframework.ai:spring-ai-client-chat:jar:1.0.0-SNAPSHOT:compile
[INFO] | +- org.springframework.ai:spring-ai-model:jar:1.0.0-SNAPSHOT:compile
[INFO] | | +- org.springframework.ai:spring-ai-commons:jar:1.0.0-SNAPSHOT:compile
[INFO] | | | +- io.micrometer:micrometer-core:jar:1.14.6:compile
[INFO] | | | | +- org.hdrhistogram:HdrHistogram:jar:2.2.2:runtime
[INFO] | | | | \- org.latencyutils:LatencyUtils:jar:2.0.3:runtime
[INFO] | | | \- io.micrometer:context-propagation:jar:1.1.3:compile
[INFO] | | +- org.springframework.ai:spring-ai-template-st:jar:1.0.0-SNAPSHOT:compile
[INFO] | | | \- org.antlr:ST4:jar:4.3.4:compile
[INFO] | | | \- org.antlr:antlr-runtime:jar:3.5.3:compile
[INFO] | | +- org.springframework:spring-messaging:jar:6.2.6:compile
[INFO] | | +- org.antlr:antlr4-runtime:jar:4.13.1:compile
[INFO] | | \- com.github.victools:jsonschema-module-jackson:jar:4.37.0:compile
[INFO] | +- com.fasterxml.jackson.module:jackson-module-jsonSchema:jar:2.18.3:compile
[INFO] | | \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] | +- io.swagger.core.v3:swagger-annotations:jar:2.2.25:compile
[INFO] | +- com.github.victools:jsonschema-module-swagger-2:jar:4.37.0:compile
[INFO] | +- com.knuddels:jtokkit:jar:1.1.0:compile
[INFO] | \- com.github.victools:jsonschema-generator:jar:4.37.0:compile
[INFO] | \- com.fasterxml:classmate:jar:1.7.0:compile
[INFO] +- io.modelcontextprotocol.sdk:mcp-spring-webmvc:jar:0.10.0:compile
[INFO] | \- org.springframework:spring-webmvc:jar:6.2.6:compile
[INFO] | +- org.springframework:spring-aop:jar:6.2.6:compile
[INFO] | +- org.springframework:spring-beans:jar:6.2.6:compile
[INFO] | \- org.springframework:spring-expression:jar:6.2.6:compile
[INFO] \- org.springframework.boot:spring-boot-starter-web:jar:3.4.5:compile
[INFO] +- org.springframework.boot:spring-boot-starter-json:jar:3.4.5:compile
[INFO] | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.18.3:compile
[INFO] | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.18.3:compile
[INFO] | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.18.3:compile
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:3.4.5:compile
[INFO] | +- org.apache.tomcat.embed:tomcat-embed-core:jar:10.1.40:compile
[INFO] | +- org.apache.tomcat.embed:tomcat-embed-el:jar:10.1.40:compile
[INFO] | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:10.1.40:compile
[INFO] \- org.springframework:spring-web:jar:6.2.6:compile
[INFO] \- io.micrometer:micrometer-observation:jar:1.14.6:compile
[INFO] \- io.micrometer:micrometer-commons:jar:1.14.6:compile
[INFO] -----------------------------------------------------------------------