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

    }
}
相关推荐
程序员萌萌3 小时前
Java之mysql实战讲解(三):聚簇索引与非聚簇索引
java·mysql·聚簇索引
技术人生黄勇4 小时前
拆解 Hermes Agent:开源 Agent 里唯一的闭环学习系统
学习
好家伙VCC4 小时前
**发散创新:基于Python与ROS的机器人运动控制实战解析**在现代机器人系统开发中,**运动控制**是实现智能行为的核心
java·开发语言·python·机器人
凉、介4 小时前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
程途知微4 小时前
ConcurrentHashMap线程安全实现原理全解析
java·后端
Mars酱4 小时前
1分钟编写贪吃蛇 | JSnake贪吃蛇单机版
java·后端·开源
devpotato4 小时前
人工智能(四)- Function Calling 核心原理与实战
java·人工智能
默 语5 小时前
Records、Sealed Classes这些新特性:Java真的变简单了吗?
java·开发语言·python
speop5 小时前
TASK01 | Reasoning Kindom
学习