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

    }
}
相关推荐
楚山之石35 分钟前
【JCO】mpMRI 先行替代 TURBT 初始分期:BladderPath 随机试验让 MIBC 患者提前 45 天得到正确治疗
人工智能·学习·mri·医学影像
这个昵称不容易2 小时前
SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在
java·springboot·毕设
计算机毕设定制辅导-无忧学长2 小时前
《基于微信小程序的居家医疗陪护预约系统设计与实现》
java·spring boot·微信小程序·uniapp·居家医疗陪护预约系统
文丑颜不良啊4 小时前
LeetCode2221~2240题目解析
java·leetcode
秋饼4 小时前
Computer Use Agent Java 落地实战:感知-行动循环、执行器与安全围栏生产级实现
java·ai·技术分享·后端开发
Peter-OK4 小时前
PostgreSQL学习笔记(入门-进阶-精通说明)
笔记·学习·postgresql
承渊政道4 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
文丑颜不良啊6 小时前
LeetCode2161~2180题目解析
java·leetcode
橙橙笔记6 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
文丑颜不良啊7 小时前
LeetCode2141~2160题目解析
java·leetcode