惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
J
Java Code Geeks
M
MIT News - Artificial intelligence
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
Engineering at Meta
Engineering at Meta
量子位
S
SegmentFault 最新的问题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
A
About on SuperTechFans
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
腾讯CDC
I
InfoQ
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
爱范儿
爱范儿

博客园 - 锐洋智能

A 股盘前行情 & 除权下发时间(工程实测 + 交易所文档) A股怎么算的量比? CIDR 从最大网段 `0.0.0.0/0` → 最小单个 IP `/32`完整梳理 CIDR 无类别域间路由写法 Java 实现A股前复权/后复权计算原理 windows 下 降级迁移 Redis 8.8.0(源) → Redis 8.6.3(目标) Eclipse IDE for Enterprise Find/Replace 窗口可以"停驻" 安装 SDelete 方式 SDelete 的核心作用,不是 “删文件”,而是 “把你已经删掉的文件,彻底从磁盘上抹干净”,同时帮你把虚拟机里的 “空闲空间” 变成连续的、可被回收的状态。 windows 10 启动就运行了一个批处理文件 在什么地方修改?启动项中? Java 9+ 开启了模块化安全限制,不允许 Ignite 直接访问底层内存地址,导致 Ignite 启动失败 Spring 5.x + 老项目的 JWT 拦截器 + 自动续期 接口鉴权:Session/Cookie 与 JWT 的核心区别 下是针对 RedisSessionManager 的 Tomcat context.xml 配置示例,覆盖基础单机 Redis、带密码 / 指定库、Redis 哨兵集群、自定义序列化 / 持久化策略 等常见场景 Redis-8.6.3-Windows-x64-cygwin 与 Redis-8.6.3-Windows-x64-msys2 有什么不一样? commons-fileupload2 M4 升级 M5 报错解决方案 阿里云的网络安全策略 ip 地址详细说明 Paralithic、 QLExpress、AviatorScript、exp4j 性能对比一下 java 序列化影响(重要!) paralithic 与 Aviator 表达式那一个更快 券商接受委托的完整时间线 jQuery 4.0 移除了许多已废弃的方法和特性 xheditor插件无限递归错误解决方法 jedis-7.1.0.jar 升级至 jedis-7.2.0.jar 就提示:The type JedisPoolConfig is deprecated The type JedisPooled is deprecated Spring 从 5.x 到 6.x 和 7.x 区别 js 原生 剪切板 复制功能 安装 Microsoft Visual C++ 运行时 Java与Python进程通信优化方案 Autocomplete | jQuery UI 同一面页定义不同的 .ui-autocomplete Quartz的misfire处理策略设置不当导致Job在应用启动时立即执行。
让 Spring Framework7.0.7 支持 velocity
锐洋智能 · 2026-05-28 · via 博客园 - 锐洋智能

要让 Spring 7.x(基于Jakarta EE)支持 Velocity,核心方案是将官方提供的 velocity-tools-view 从普通版替换为 jakarta,以解决Servlet API包名变更导致的兼容性问题。

核心解决方案

其实操作步骤非常简单,关键在于替换一个JAR包:

  1. 保留原有的 velocity-engine-corevelocity-tools-generic,这两个核心包不需要改动。

  2. 替换 velocity-tools-view,将标准的 velocity-tools-view-3.1.jar 换为 velocity-tools-view-3.1-jakarta.jar

这个 jakarta 版本是专门为了适配新规范而构建的,它内部引用的 Servlet 接口是 jakarta.servlet 包,能完美兼容 Spring 7.x。

详细操作步骤

为了确保配置无误,你可以参考以下步骤和配置:

    • Maven依赖配置
      在你的 pom.xml 中,需要显式地排除对旧 javax.servlet 的传递依赖,并引入 jakarta 版的核心视图工具包。

    • Spring配置检查
      由于 Spring 7.x 对视图解析器的内部实现做了调整,你需要手动配置 VelocityViewResolverVelocityLayoutViewResolver。请确保在配置视图解析器时,让它使用正确的 VelocityViewVelocityLayoutView 类,这些类在 jakarta 版的 JAR 包中已得到适配。

velocity-engine-core-2.4.1.jar,velocity-tools-generic-3.1.jar文件不用动只用升级一下 velocity-tools-view-3.1.jar 为 velocity-tools-view-3.1-jakarta.jar 即可

ReYo_2026-05-28_20-24-37