向AI学习项目技能(五)

为什么好多前端项目都喜欢用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);

    }
}
相关推荐
森林古猿134 分钟前
再论斜率优化
c++·学习·算法
心中有国也有家1 小时前
鸿蒙Flutter开发环境从零搭建教程(Windows/macOS双平台·避坑版)
学习·flutter·华为·harmonyos
聚美智数1 小时前
黄历查询-运势查询-国际法定节假日查询-API接口介绍
android·java·数据库
十月的皮皮2 小时前
C语言学习笔记20260706-栈的压入、弹出序列验证
c语言·笔记·学习
Yeats_Liao3 小时前
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
java·后端·架构
范什么特西3 小时前
网络代理问题
java·linux·服务器
三月不知肉味y3 小时前
2026-07-05-JAVA面试场景题训练
java·开发语言·面试
心中有国也有家3 小时前
Flutter 鸿蒙适配第一步:从 hive 迁移到 hive\_ce
hive·学习·flutter·华为·harmonyos
豆瓣鸡4 小时前
封装 API 请求日志切面——从注解定义到 Starter 自动装配
java·开发语言·spring boot
渣渣灰飞4 小时前
MySQL 系统学习 第二阶段 第三章 DQL(Data Query Language)第二节:WHERE 条件查询
sql·学习·mysql