拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Sa-Token 最新版本说明与 Maven 依赖引入实战指南

Sa-Token 最新版本说明与 Maven 依赖引入实战指南【免费下载链接】Sa-Token✨ 开源、免费、一站式 Java 权限认证框架让鉴权变得简单、优雅—— 登录认证、权限认证、分布式 Session 会话、微服务网关鉴权、SSO 单点登录、OAuth2.0 统一认证、jwt 集成、API Key 秘钥授权、API 参数签名项目地址: https://gitcode.com/GitHub_Trending/sa/Sa-Token本篇技术指南以 Sa-Token 官方版本发布信息为准系统梳理当前正式版 v1.46.0 的 Maven 坐标、不同框架下的依赖引入方式、BOM 统一版本管理方案以及 Maven 依赖拉取失败时的完整排查流程。读者读完本篇后将能够在 Spring Boot 2.x/3.x/4.x、WebFlux、Solon、JFinal 等环境中正确引入并锁定 Sa-Token 版本并独立解决依赖下载相关的常见问题。当前最新版本总览Sa-Token 采用正式版 内测版双轨发布机制正式版经过完整测试、可稳定上生产内测版为正在开发中的特性版本稳定性不作保证仅在开发者需要提前体验新功能时使用。依据 sa-token-doc-new/docs/start/new-version.md 的版本说明当前状态如下版本类型版本号说明正式版本v1.46.0已发布可上生产内测版本暂无当前无内测版本发布该版本号与仓库源码保持严格一致根目录 pom.xml 中通过revision1.46.0/revision统一声明版本sa-token-bom/pom.xml 以及示例项目 sa-token-demo-springboot/pom.xml 中的sa-token.version1.46.0/sa-token.version均指向同一版本可从源码层面验证版本信息的准确性。Maven 引入基础坐标与版本选择Sa-Token 的 Maven 坐标格式为cn.dev33:sa-token-xxx:version。以 Spring BootServlet API环境为例在pom.xml中添加如下依赖即可!-- Sa-Token 权限认证 -- dependency groupIdcn.dev33/groupId artifactIdsa-token-spring-boot-starter/artifactId version1.46.0/version /dependency需要注意不同基础框架需要引入不同的 starter 包版本号必须保持一致。下表根据 sa-token-doc-new/docs/start/download.md 与仓库 sa-token-starter 模块结构整理运行环境引入依赖说明Spring Boot 2.xServlet APIsa-token-spring-boot-starter基于 SpringMVC / SpringBoot 的经典环境Spring Boot 3.xsa-token-spring-boot3-starter适配 jakarta 命名空间Spring Boot 4.xsa-token-spring-boot4-starter适配最新 Spring Boot 4WebFlux / Spring Cloud Gatewaysa-token-reactor-spring-boot-starter基于 Reactor 响应式模型Boot 3.x/4.x 对应sa-token-reactor-spring-boot3-starter、sa-token-reactor-spring-boot4-starterSolonsa-token-solon-pluginSolon 框架集成JFinalsa-token-jfinal-pluginJFinal 框架集成Jbootsa-token-jboot-pluginJboot 框架集成LoveQQ-Frameworksa-token-loveqq-boot-starterLoveQQ 框架集成裸 Servlet 容器无 Springsa-token-servlet需自定义SaTokenContext实现其它非 SpringMVC/WebFlux 环境sa-token-core核心包需自定义SaTokenContext实现从仓库 sa-token-starter 目录可以看到sa-token-spring-boot-starter、sa-token-spring-boot3-starter、sa-token-spring-boot4-starter、sa-token-servlet、sa-token-jakarta-servlet等均以独立 Maven 模块存在各环境按需取用即可互不冲突。使用版本属性的推荐写法为避免项目中多处硬编码版本号导致升级遗漏建议像官方示例项目 sa-token-demo-springboot/pom.xml 那样先用properties定义版本号再在依赖中引用!-- 定义 Sa-Token 版本号 -- properties sa-token.version1.46.0/sa-token.version /properties dependencies !-- Sa-Token 权限认证 -- dependency groupIdcn.dev33/groupId artifactIdsa-token-spring-boot-starter/artifactId version${sa-token.version}/version /dependency /dependencies这样在升级版本时只需修改一处属性即可。配套插件依赖除了启动器之外Sa-Token 还提供大量功能插件引入时同样使用cn.dev33坐标与同一版本号例如Redis 集成sa-token-redis-jacksonjackson 序列化、sa-token-redissonRedisson 集成JWT 集成sa-token-jwtSSO 单点登录sa-token-ssoOAuth2.0 统一认证sa-token-oauth2注解鉴权AOPsa-token-spring-aopAPI Key 秘钥授权sa-token-apikey这些插件模块均可在仓库 sa-token-plugin 目录下找到对应源码且所有模块版本统一由根 POM 的revision属性管理。使用 BOM 统一管理所有 Sa-Token 版本当项目中同时引入多个 Sa-Token 模块如 starter Redis JWT时逐个写版本号不仅繁琐还容易造成版本不一致。官方提供了 BOMBill of Materials包sa-token-bom来解决该问题。参考官方示例 sa-token-demo-bom-import/pom.xml 的写法通过dependencyManagement的import方式导入 BOM 后所有 Sa-Token 依赖都无需再写版本号properties sa-token.version1.46.0/sa-token.version /properties dependencies !-- Sa-Token 权限认证 -- dependency groupIdcn.dev33/groupId artifactIdsa-token-spring-boot-starter/artifactId /dependency !-- Sa-Token 整合 Redis (使用jackson序列化方式) -- dependency groupIdcn.dev33/groupId artifactIdsa-token-redis-jackson/artifactId /dependency !-- Sa-Token 整合 jwt -- dependency groupIdcn.dev33/groupId artifactIdsa-token-jwt/artifactId /dependency /dependencies !-- 依赖管理 (不会真正的引入依赖只会限定其版本) -- dependencyManagement dependencies !-- Sa-Token 所有包的版本定义 -- dependency groupIdcn.dev33/groupId artifactIdsa-token-bom/artifactId version1.46.0/version typepom/type scopeimport/scope /dependency /dependencies /dependencyManagementBOM 包本质上是一个只做版本管理、不引入任何实际依赖的 POM 工程。查看 sa-token-bom/pom.xml 可以看到其全部内容位于dependencyManagement中为sa-token-core、各 starter 与插件统一声明版本正如示例中注释所言不会真正的引入依赖只会限定其版本。Gradle 项目的引入方式对于使用 Gradle 构建的项目在build.gradle中引入 Sa-Token 同样简单以 Spring Boot 环境为例implementation cn.dev33:sa-token-spring-boot-starter:1.46.0其它环境的 Gradle 写法与 Maven 坐标一一对应// WebFlux 环境 implementation cn.dev33:sa-token-reactor-spring-boot-starter:1.46.0 // Solon 集成 implementation cn.dev33:sa-token-solon-plugin:1.46.0 // JFinal 集成 implementation cn.dev33:sa-token-jfinal-plugin:1.46.0 // 裸 Servlet 容器环境 implementation cn.dev33:sa-token-servlet:1.46.0 // 其它环境core 核心包 implementation cn.dev33:sa-token-core:1.46.0引入后版本号同样替换为当前正式版1.46.0。Maven 依赖一直拉取失败完整排查手册即使 Maven 坐标完全正确实际开发中仍可能遇到依赖无法下载的问题。根据官方排查文档 sa-token-doc-new/docs/start/maven-pull.md可按以下顺序依次排查方法 1先重启构建依赖拉取失败有时只是 IDE 缓存或网络瞬断导致先重启一下 IDE / 重新构建项目试试这是成本最低的排查手段。方法 2检查构建进度可能依赖还没有下载完毕请观察编辑器下方是否有正在构建项目的进度条等待构建完成后再次检查。方法 3清理本地仓库的残碎文件网络不稳定时Maven 可能只下载了部分残碎文件.lastUpdated文件这些残留会导致后续重试始终失败。此时应删除本地仓库中的 Sa-Token 相关目录后重新构建C:\Users\你的电脑用户名\.m2\repository\cn\dev33打开该目录把其中文件全部删除即可如果你自定义过 Maven 本地仓库路径请按修改后的路径操作。方法 4排查阿里云镜像配置很多开发者会在settings.xml中配置阿里云镜像加速下载但部分 jar 包无法通过阿里云镜像加载成功从而造成坐标正确却始终拉不下来的现象。打开 Maven 的settings.xml检查是否存在以下配置mirror idnexus-aliyun/id mirrorOfcentral/mirrorOf nameNexus aliyun/name urlhttp://maven.aliyun.com/nexus/content/groups/public/url /mirror如果有先将其注释掉注释掉即直连 Maven 中央仓库或替换为其它镜像例如腾讯云镜像mirror idtencent/id nametencent maven/name urlhttp://mirrors.cloud.tencent.com/nexus/repository/maven-public//url mirrorOfcentral/mirrorOf /mirror修改完成后重启代码编辑器重新构建项目。方法 5父子 Maven 项目的依赖识别问题如果使用的是父子 Maven 项目在父项目中导入该依赖后出现 POM 无法识别的情况需要先在子项目中引用该依赖再进行重新加载。若依然不行可以新建一个小的 Maven 项目先尝试将该依赖下载成功再返回原父子项目中将该依赖导入。最后手段寻求社区反馈若上述方法均无法解决可以在 Sa-Token 社区群中反馈问题附上你的构建日志与 Maven 配置便于快速定位。从源码验证版本与模块结构以上所有说明均可在当前仓库中得到验证版本号根 pom.xml 的revision1.46.0/revision与 sa-token-doc-new/docs/start/new-version.md 中正式版本 v1.46.0一致Starter 模块sa-token-spring-boot-starter、sa-token-spring-boot3-starter、sa-token-spring-boot4-starter、sa-token-reactor-spring-boot-starter等均在 sa-token-starter 下以独立模块存在sa-token-bom/pom.xml 的dependencyManagement为其统一锁定版本插件模块Redis、JWT、SSO、OAuth2 等插件位于 sa-token-plugin 目录与 BOM 中声明一一对应官方示例sa-token-demo-springboot 展示了最基础的引入方式sa-token-demo-bom-import 展示了 BOM 统一版本管理方式均可直接作为新项目配置的参照模板。小结Sa-Token 当前正式版本为v1.46.0无内测版。引入时只需记住三点一是按运行环境选择正确的 starter 依赖Servlet / Reactor / Solon / JFinal / core 等二是保持所有 Sa-Token 模块版本号一致多模块项目优先通过sa-token-bom统一管理三是遇到依赖拉取失败时按重启 → 清理本地仓库 → 排查镜像 → 处理父子工程的顺序排查绝大多数问题都可迎刃而解。【免费下载链接】Sa-Token✨ 开源、免费、一站式 Java 权限认证框架让鉴权变得简单、优雅—— 登录认证、权限认证、分布式 Session 会话、微服务网关鉴权、SSO 单点登录、OAuth2.0 统一认证、jwt 集成、API Key 秘钥授权、API 参数签名项目地址: https://gitcode.com/GitHub_Trending/sa/Sa-Token创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门