跳到主要内容

版本与兼容性

这一页只回答一个问题:你当前的工程版本条件,适不适合直接接入 AI4J。


1. 基线结论

当前仓库里的版本基线可以直接归纳成下面几条:

  • 核心 SDK 基线:JDK 1.8+
  • 当前根工程版本:2.1.0
  • Spring Boot starter 编译基线:2.3.12.RELEASE
  • 文档中的 Maven 坐标和 BOM 坐标均以 2.1.0 为当前版本示例

2. 兼容性矩阵

项目当前基线说明
ai4jJDK 1.8+最基础的统一 AI SDK 入口
ai4j-spring-boot-starterSpring Boot 2.3.12.RELEASE 基线文档示例按 Spring Boot 2.x 写法组织
ai4j-flowgram-spring-boot-starterJDK 1.8+ + Spring Boot 场景适合工作流和低代码平台,不是首调入口
ai4j-bom与根工程 2.1.0 对齐用于统一模块版本

3. JDK 相关说明

3.1 JDK 8

这是当前文档主路径的最低基线。

适合:

  • 基础 Chat / Responses / Embedding / Audio / Image 接入
  • 非 Spring 与 Spring Boot 基础场景
  • MCP Client / Gateway 的基础接入

3.2 JDK 15+

仓库中存在 nashorn-runtime profile,会在 JDK [15,) 条件下激活。

这意味着:

  • 某些脚本执行相关能力会开始依赖 Nashorn runtime profile
  • 如果你只做基础 LLM 接入,这一层通常不是首要关注点

3.3 JDK 17+

仓库中还存在 graalpy-runtime profile,会在 JDK [17,) 条件下激活。

这更偏向高级运行时能力,而不是“第一个成功请求”的最低门槛。

如果你只是首次接入:

  • 先按 JDK 8 路径打通
  • 再按需要评估更高版本运行时

4. Spring Boot 相关说明

当前 ai4j-spring-boot-starter 的 POM 内部使用:

spring-boot.version = 2.3.12.RELEASE

因此文档里的 starter 示例默认按 Spring Boot 2.x 思路组织。

推荐理解:

  • 你是 Spring Boot 2.x 项目:直接按文档接入
  • 你是更高版本项目:先做最小集成验证,再决定是否大面积接入

5. BOM 什么时候该用

只要你遇到下面任一情况,就建议用 BOM:

  • 同时引入 ai4j 和 starter
  • 计划同时接 agentcodingflowgram
  • 团队里有多个服务同时引用 AI4J 模块

原因很简单:

  • BOM 负责统一版本
  • 业务 POM 只负责声明“我需要哪些模块”

这样后续升级时不会到处手改版本号。


6. 一个简单判断法

如果你现在还不确定该怎么选,可以直接按下面判断:

  1. 只是先打通模型请求:用 ai4j
  2. 项目本身就是 Spring Boot:用 ai4j-spring-boot-starter
  3. 会用多个 AI4J 模块:加上 ai4j-bom
  4. 要做工作流和节点编排:再引入 ai4j-flowgram-spring-boot-starter

7. 继续阅读

  1. 安装与环境准备
  2. JDK8 + OpenAI 最小示例
  3. Spring Boot 快速接入模式