为什么好多前端项目都喜欢用5173做端口
因为前端工具vite,把这个作为默认端口
什么是vite
前端构建工具
什么是mcp
让 AI 模型(如 Claude、GPT)能够安全、标准化地连接到外部数据源和工具,如数据库、本地文件等
子pom要想使用父pom里的版本。自己无需写版本
那父pom定义dependency的时候外面要加上**<**dependencyManagement>
问题
为什么子pom有添加父类
<parent>
<groupId>org.test</groupId>
<artifactId>testcases</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
而且其中父pom引入了springboot框架
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.6</version>
</parent>
但是子pom不能使用注解@SpringBootApplication
解决方式:
子pom里也要显示声明引用springboot
注意父pom里虽然继承了spring-boot-starter-parent,这个版本号也是需要通过**<dependencyManagement>传递,需要在父pom里补充<dependencyManagement>**
<!-- 关键:父POM本身也需要有 dependencyManagement -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.5.6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
然后在子pom显示声明springboot并且不用添加版本号
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- 如果是Web项目,还需要web starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
问题
子pom一直提示
Unresolved dependency: 'org.springframework.boot:spring-boot-starter-web:jar:unknown'
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.5.6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
上面这个依赖包含了start-web,保留上面的依赖即可
报错java: 无法访问reactor.core.publisher.Mono
找不到reactor.core.publisher.Mono的类文件
Mono是project reactor的核心类,而springboot starter webflux依赖它,所以需要在子pom引入webflux依赖
java
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
报错
Exception in thread "main" java.lang.NoClassDefFoundError: io/agentscope/core/hook/Hook
at io.agentscope.core.studio.StudioManager.init(StudioManager.java:70)
at org.test.Application.main(Application.java:23)
Caused by: java.lang.ClassNotFoundException: io.agentscope.core.hook.Hook
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
... 2 more
父pom导入依赖
java
<!-- AgentScope 核心 -->
<dependency>
<groupId>io.agentscope</groupId>
<artifactId>agentscope-core</artifactId>
<version>${agentscope.version}</version>
</dependency>
子类显示申明
java
<dependency>
<groupId>io.agentscope</groupId>
<artifactId>agentscope-core</artifactId>
</dependency>
后面报错缺少Tracer类
父pom修改
java
<agentscope.version>0.2.1</agentscope.version> <!-- 从 1.0.10 改为 0.2.1 -->
报错Exception in thread "main" java.lang.NoClassDefFoundError: io/agentscope/core/studio/StudioManager
at org.test.Application.main(Application.java:23)
Caused by: java.lang.ClassNotFoundException: io.agentscope.core.studio.StudioManager
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
... 1 more
父pom添加依赖
并且升级agentscope版本
<agentscope.version>1.0.1</agentscope.version>
java
<dependency>
<groupId>io.agentscope</groupId>
<artifactId>agentscope-studio</artifactId>
<version>${agentscope.version}</version>
</dependency>
子pom加上申明
java
<dependency>
<groupId>io.agentscope</groupId>
<artifactId>agentscope-studio</artifactId>
</dependency>
注意现在agentscope版本是1.0.1,studioManager在这个版本里移除了
所以要使用ReActAgent
启动类里代码如下
java
@SpringBootApplication
public class Application
{
public static void main( String[] args )
{
Dotenv load = Dotenv.configure().ignoreIfMissing().load();
load.entries().forEach(entry->{
System.setProperty(entry.getKey(),entry.getValue());
});
SpringApplication.run(Application.class,args);
}
}