向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);

    }
}
相关推荐
晚风醉蝶7 小时前
1-6-插入排序-InsertionSort
java·数据结构·排序算法
yaoxin5211238 小时前
497. Java 反射 - 使用反射读取注解
java·开发语言·python
eralong9 小时前
Java 面向对象:继承、多态、接口
java·后端
哦虎!9 小时前
【数据库】事务
java·数据库·mysql
CDN3609 小时前
流媒体加速实践:出海东南亚短视频点播频繁缓冲,HLS 分片与 Nginx 配置调优
java·网络·nginx·流媒体加速
xiaoxiangsiyan9 小时前
RHCE2026完整版全知识点清单
运维·网络·学习·自动化·rhce
程序员黑豆9 小时前
Java中的null与NullPointerException完全指南:安全处理、实战排查与面试题
java·前端·ai编程
晴天1610 小时前
Electron面试题-Day19
java·javascript·electron
Titan202410 小时前
Linux网络基础知识
linux·服务器·网络·c++·学习
m4Rk_10 小时前
【论文阅读】Agent 记忆机制(41):Agentic Plan Caching——将历史执行轨迹转化为可复用的计划记忆
论文阅读·人工智能·学习·开源·github