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

    }
}
相关推荐
AI人工智能+电脑小能手1 分钟前
【大白话说Java面试题 第69题】【JVM篇】第29题:GC Roots 有哪些?
java·开发语言·jvm·面试
William Dawson5 分钟前
【通俗易懂!Spring四大核心注解源码解读:@Configuration、@ComponentScan、@Import、@EnableXXX实战】
java·后端·spring
Tigshop开源商城15 分钟前
Tigshop 开源商城系统 JAVA v5.8.28 版本发布|『角色权限管理+店铺后台跳转逻辑』优化
java·开源商城系统·tigshop
彦为君19 分钟前
JavaSE-10-并发编程(11个案例)
java·开发语言·python·ai·nio
石山代码20 分钟前
java前景
java·开发语言
希望永不加班34 分钟前
var局部变量类型推断的利弊
java·服务器·前端·javascript·html
¿i?38 分钟前
对多元微积分的简单理解
学习
TMT星球40 分钟前
伴鱼袁志强:AI个性化学习告别“推题时代”,教育 AI Harness 进入学习全过程
人工智能·学习
小二·43 分钟前
LangGraph 多智能体实战:从零搭建 Multi-Agent 协作系统
java·开发语言·数据库
Yeats_Liao43 分钟前
物联网接入层技术剖析(三):epoll在JVM中的映射
java·linux·jvm·人工智能·物联网