settings.xml是maven的全局配置

发布时间:2025-06-24 18:27:46  作者:北方职教升学中心  阅读量:526


开通模型调用服务

阿里云百炼大模型服务平台
在这里插入图片描述

2、消息队列、修改远程仓储服务器、
  • settings.xml中包含类似本地仓储位置、
  • 阿里云大模型与云原生最佳实践:通义系列AI模型驱动,深度集成云原生API网关、

    声明:本文涉及的链接、Serverless、图片、模版管理、

    • 获取API-KEY
    • 将API-KEY配置到环境变量
    • 如何使用业务空间
    • 子业务空间的模型调用
      在这里插入图片描述
  • 五、智能体、添加依赖并注入

    总的来说,使用 Spring AI Alibaba 开发应用与使用普通 Spring Boot 没有什么区别,只需要增加 spring-ai-alibaba-starter 依赖,将 ChatClient Bean 注入就可以实现与模型聊天了。

    ① 需要在maven全局配置文件中进行屏蔽配置:

    # 修改maven全局配置文件cd/Library/Maven/apache-maven-3.9.4/confvimsettings.xml
    <!--阿里云仓库--><!--修改:<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>--><mirror><id>nexus-aliyun</id><mirrorOf>*,!jeecg,!jeecg-snapshots,!spring-milestones</mirrorOf><name>Nexus aliyun</name><url>https://maven.aliyun.com/repository/public</url></mirror>

    ② 需要在maven用户配置文件中进行屏蔽配置:

    # 修改maven用户配置文件cd~/.m2vimsettings.xml
    <!--阿里云仓库--><!--修改:<mirrorOf>*</mirrorOf>--><mirror><id>aliyunmaven</id><mirrorOf>*,!spring-milestones</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>

    问题4:JDK版本与项目Modules不一致?

    com/alibaba/cloud/ai/example/helloworld/HelloWorldExampleApplication has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

    在这里插入图片描述

    Project版本为JDK 1.8

    # JVM配置sudovi~/.bash_profileexportJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/HomeexportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportPATH=$JAVA_HOME/bin:$PATHsource~/.bash_profilejava -version

    在这里插入图片描述
    项目Modules为JDK 17
    在这里插入图片描述
    启动项目需要更换Project版本为JDK 17

    • JDK17下载
      在这里插入图片描述

    • IDEA更改
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    • 命令更改

    exportJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.0.12.jdk/Contents/Home

    问题5:API-KEY无效?

    org.springframework.ai.retry.NonTransientAiException: 401 - {“code”:“InvalidApiKey”,“message”:“Invalid API-key provided.”,“request_id”:“23e91a5e-9050-9cb5-a84a-f9ac931830ad”}

    在这里插入图片描述

    • 检查AI_DASHSCOPE_API_KEY是否已配置
    # 设置环境变量exportAI_DASHSCOPE_API_KEY="REPLACE-WITH-VALID-API-KEY"# 查看环境变量echo${AI_DASHSCOPE_API_KEY}
    • 确保已开通模型调用服务,并处于主业务空间下具备API-Key权限。注意事项

      问题1:zsh:command not found: mvn?

      # 配置 Mavenvim~/.bash_profileexportMAVEN_HOME=/Library/Maven/apache-maven-3.9.7exportPATH=$MAVEN_HOME/bin:$PATHsource~/.bash_profilemvn -version

      在这里插入图片描述

      问题2:zsh: no such file or directory: ./mvnw?

      这个错误表明在当前目录下没有找到名为 mvnw 的文件。同时,提供了完整的开源配套,包括可观测、函数调用、获取合法的 API-KEY

      获取API-KEY

      在这里插入图片描述

      3、

    settings.xml文件位置

    • 全局配置:${maven.home}/conf/settings.xml
    • 用户配置:${user.home}/.m2/settings.xml

    配置优先级

    • 需要注意的是:局部配置优先于全局配置。

      在项目中加入 spring-ai-alibaba-starter 依赖。代码及相关资料均从公开渠道获取或为个人知识积累,请勿未经本人允许随意复制转载!

      资源地址

      • Spring AI Alibaba官网
      • Spring AI Alibaba项目地址
      • 阿里云百炼平台

      简介

      帮助Java开发者快速构建AI原生智能体应用

      Spring AI Alibaba是什么?

      Spring Al Alibaba开源项目基于Spring Al构建,是阿里云通义系列模
      型及服务在Java Al应用开发领域的最佳实践,提供高层次的AI API抽
      象与云原生基础设施集成方案,帮助开发者快速构建AI应用。限流、

      http://localhost:8080/ai/chat?input=你是谁?

      在这里插入图片描述

      http://localhost:8080/ai/chat?input=简单介绍一下阿里云?

      在这里插入图片描述

      参考资料

      • Spring AI Alibaba官网
      • Spring AI Alibaba项目地址
      • 阿里云百炼平台
      • Spring Cloud Alibaba专家答疑

    <repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository></repositories>

    如果maven全局配置文件或用户配置文件中配置了阿里云镜像:

    settings.xml文件是干什么的,为什么要配置它呢?

    • settings.xml是用来设置maven参数的配置文件。

      <dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter</artifactId><version>1.0.0-M2</version></dependency>

      为 Spring Bean 注入 ChatClient

      @RestControllerpublicclassChatController{privatefinalChatClientchatClient;publicChatController(ChatClient.Builderbuilder){this.chatClient =builder.build();}@GetMapping("/chat")publicStringchat(Stringinput){returnthis.chatClient.prompt().user(input).call().content();}}

      三、下载项目

      • IDEA导入

      在这里插入图片描述

      • 命令行导入
      gitclone --depth=1https://github.com/alibaba/spring-ai-alibaba.git

      二、运行项目

      1、可观测等云原生应用基础设施。配置中心等。

      前言

      随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、对话记忆等高层次抽象。

      # 生成 mvnw 文件和相关的脚本mvn clean compilemvn wrapper:wrapper

      问题3:引入spring-cloud-alibaba-ai依赖找不到?

      org.springframework.ai:spring-ai-core:jar:1.0.0-M2 was not found in http://mvnrepo.alibaba-inc.com/mvn/repository during a previous attempt.

      在这里插入图片描述

      注意:由于 spring-ai 相关依赖包还没有发布到中央仓库,如出现 spring-ai-core 等相关依赖解析问题,需要在项目的 pom.xml 依赖中加入如下仓库配置。应用示例

      在这里插入图片描述
      访问本地启动链接,向通义模型提问并得到回答。而pom.xml文件是所在项目的局部配置。多模型切换等

    • 开发者工具集

    实战部署

    一、
    ——阿里云云原生微服务技术负责人,Spring AI Alibaba 发起人彦林

    在这里插入图片描述
    无意间看到关于彦林老师在刚刚结束的2024云栖大会上关于Spring AI Alibaba的汇报,由于我在校期间会经常使用LangChain框架基于Python语言搭建智能体应用,结合本人现在也从事Java研发工作,对这种基于Spring开发范式搭建AI应用的框架非常感兴趣,于是结合现有公开的资料,完成了基于Spring AI Alibaba的demo项目部署工作,记录一些踩的坑,欢迎感兴趣的同学一起研究学习。格式化输出等低层次抽象与RAG、但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。认证信息等配置。LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。

  • Model,Prompt,RAG,Tools:兼具提示词模板、设置 AI_DASHSCOPE_API_KEY 环境变量
    # 设置环境变量exportAI_DASHSCOPE_API_KEY="REPLACE-WITH-VALID-API-KEY"# 查看环境变量echo${AI_DASHSCOPE_API_KEY}

    4、
    因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。mvnw 是 Maven Wrapper 的缩写,它是一个脚本,用于确保使用项目定义的 Maven 版本来运行 Maven 构建,而不是系统上安装的任何其他版本。

  • 配置优先级从高到低:pom.xml > user settings > global settings
  • 如果这些文件同时存在,在应用配置时,会合并它们的内容,如果有重复的配置,优先级高的配置会覆盖优先级低的。
  • Spring AI Alibaba架构图

    在这里插入图片描述

    Spring AI Alibaba未来规划

    • Prompt Template管理
    • 事件驱动的AI应用程序
    • 更多Vector Database支持
    • 函数计算等部署模式
    • 可观测性建设
    • AI代理节点开发能力,如滤网、

      Spring AI Alibaba提供哪些能力?

      • 专属Spring开发者的Al框架:基于Spring Al官方开源项目,原生支持Spring Boot体系,为你的Bean带来生成式Al能力。settings.xml是maven的全局配置。网关、启动示例项目应用
        cdspring-ai-alibaba/spring-ai-alibaba-examples/helloworld-example
        ./mvnw compile exec:java -Dexec.mainClass="com.alibaba.cloud.ai.example.helloworld.HelloWorldExampleApplication"

        四、