news 2026/6/10 18:33:27

spring-ai 下载不了依赖spring-ai-openai-spring-boot-starter

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
spring-ai 下载不了依赖spring-ai-openai-spring-boot-starter

第1坑:配置第三方仓库不生效, 提示在阿里云仓库没有找到 spring-ai-openai-spring-boot-starter

第2坑:升级jdk17后,springboot项目启动报错

Internal error (java.lang.reflect.InaccessibleObjectException): Unable to make protected void java.util.ResourceBundle.setParent(java.util.ResourceBundle) accessible: module java.base does not “opens java.util” to unnamed module @bef2d72
java.lang.reflect.InaccessibleObjectException: Unable to make protected void java.util.ResourceBundle.setParent(java.util…

也可以尝试多次运行,一般第二次就会成功运行,原因不详!!! 本人尝试配置vm参数好像不会再出现这个情况,尝试的少,所以不好定论

3. 中间商

https://api.xty.app/token

4.application.properties配置

附上完整的pom文件:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.ldj.ai</groupId> <artifactId>open-ai</artifactId> <version>0.0.1-SNAPSHOT</version> <name>open-ai</name> <description>openAI project for Spring Boot</description> <properties> <java.version>17</java.version> <spring-ai.version>1.0.0-M1</spring-ai.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-bom</artifactId> <version>${spring-ai.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <artifactId>junit-jupiter</artifactId> <groupId>org.junit.jupiter</groupId> </exclusion> </exclusions> </dependency> <!--单测有点小bug,说找不到依赖,降低junit版本--> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.5.0</version> <scope>test</scope> </dependency> <!--版本继承spring-ai-bom--> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-openai-spring-boot-starter</artifactId> </dependency> </dependencies> <!--第三方依赖库,注意配置了有可能不生效,需要修改maven setting配置文件,见截图--> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

参考官方示例:Chat Client API :: Spring AI Reference

后续补充:

package com.ldj.ai.openai.controller; import org.springframework.ai.chat.client.ChatClient; import org.springframework.web.bind.annotation.*; /** * User: ldj * Date: 2024/7/7 * Time: 15:03 * Description: AI 聊天controller */ @RestController @RequestMapping("/openai") public class ChatController { private final ChatClient chatClient; public ChatController(ChatClient.Builder chatClientBuilder) { this.chatClient = chatClientBuilder.build(); } @GetMapping("/chat") public String generation(@RequestParam(value = "question", defaultValue = "使用中文简短介绍自己") String question) { return this.chatClient.prompt() .user(question) .call() .content(); } }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 8:20:47

PDF-Extract-Kit性能测评:不同文件格式处理能力

PDF-Extract-Kit性能测评&#xff1a;不同文件格式处理能力 1. 引言 1.1 技术背景与选型需求 在当前数字化办公和学术研究的背景下&#xff0c;PDF文档已成为信息传递的核心载体。然而&#xff0c;PDF中嵌套的复杂结构——如公式、表格、图文混排等——给内容提取带来了巨大…

作者头像 李华
网站建设 2026/6/10 9:02:00

ST7789V驱动时序调试:常见问题与解决

ST7789V驱动调试实战&#xff1a;从花屏到丝滑显示的全栈解析在嵌入式开发的世界里&#xff0c;一块小小的彩色屏幕&#xff0c;往往能成为产品成败的关键。而当你满怀期待地焊好ST7789V显示屏模块、烧录代码后&#xff0c;却发现——白屏&#xff1f;花屏&#xff1f;颜色错乱…

作者头像 李华
网站建设 2026/6/10 9:02:48

JLink接线实现SWD调试的实战案例分析

JLink接线实现SWD调试的实战案例分析 在嵌入式系统开发中&#xff0c; “程序烧不进去”、“调试器连不上” 是每个工程师都曾遭遇过的噩梦。你反复点击下载按钮&#xff0c;J-Link Commander却始终报出冰冷的一句&#xff1a; No target connected 。这时&#xff0c;问题…

作者头像 李华
网站建设 2026/6/10 9:10:35

PDF-Extract-Kit扩展开发:添加自定义文档处理模块

PDF-Extract-Kit扩展开发&#xff1a;添加自定义文档处理模块 1. 引言 1.1 背景与需求驱动 在现代文档数字化流程中&#xff0c;PDF作为最通用的格式之一&#xff0c;承载了大量结构化与非结构化信息。尽管已有多种工具支持PDF内容提取&#xff0c;但在实际工程场景中&#…

作者头像 李华
网站建设 2026/6/10 9:10:22

基于STM32的CANFD与Ethernet桥接设计:系统学习方案

从车载到工业&#xff1a;如何用一颗STM32打通CAN FD与以太网的“任督二脉”&#xff1f;你有没有遇到过这样的场景&#xff1f;一台新能源汽车的BMS&#xff08;电池管理系统&#xff09;正在高速采集电芯数据&#xff0c;每秒产生上千帧CAN报文&#xff1b;与此同时&#xff…

作者头像 李华
网站建设 2026/6/10 9:07:34

轻量级ModbusTCP协议详解栈在STM32中的集成方案

轻量级ModbusTCP协议栈在STM32中的实战集成&#xff1a;从原理到代码落地为什么我们需要一个“轻”的ModbusTCP&#xff1f;在工业现场&#xff0c;你是否遇到过这样的困境&#xff1f;——想给一台基于STM32F103的小型温控器加上以太网通信功能&#xff0c;却发现标准的LwIP …

作者头像 李华