如何让spring5.x支持velocity

本文介绍了如何在Spring 5.0中重新启用对Velocity的支持,由于Spring从4.3版本开始不再内置支持,需要手动添加相关依赖和源代码。首先确保使用JDK 1.8,然后在pom.xml中添加Jackson和Velocity的相关依赖。接着,引入velocity-tools和velocity-tools-view,并排除特定的Struts依赖。最后,将Spring 4.2.8.RELEASE的源码和velocity-tools-view中的特定类引入工程,覆盖已废弃的类,从而实现Spring 5.0对Velocity的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新版spring5.0已经移除了对velocity的支持,下面就说说如何让spring5.x支持velocity。


spring从4.3开始不再支持velocity,官方说法是:Velocity 1.7 dates back to 2010. After more than five years of no

maintenance in the original project, it's about time to deprecate Velocity support on Spring's side.

来自:https://jira.spring.io/browse/SPR-13235

解决步骤:

一、jdk版本:jdk1.8
二、spring版本:5.0.0.RELEASE
三、pom依赖:

<jackson.version>2.9.0</jackson.version>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>${jackson.version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>${jackson.version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>${jackson.version}</version>
</dependency>
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-core-asl</artifactId>
    <version>1.9.13</version>
</dependency>
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>
 

以上是jackson的版本,不是主要因素。

下面是velocity依赖:
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.7</version>
</dependency>
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-tools</artifactId>
    <version>2.0</version>
    <exclusions>
        <exclusion>
            <artifactId>struts-core</artifactId>
            <groupId>org.apache.struts</groupId>
        </exclusion>
        <exclusion>
            <artifactId>struts-taglib</artifactId>
            <groupId>org.apache.struts</groupId>
        </exclusion>
        <exclusion>
            <artifactId>struts-tiles</artifactId>
            <groupId>org.apache.struts</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>velocity-tools</groupId>
    <artifactId>velocity-tools-view</artifactId>
    <version>1.4</version>
</dependency>
四、补充spring、velocity源代码到工程里

spring代码来自spring-framework-4.2.8.RELEASE,velocity代码来自velocity-tools-view 1.4。补上之后的代码结构如下:

其中,把velocity-tools-view中的两个类单独拿出来是为了覆盖velocity-tools中的deprecated同名类。这两个类位置如下:

 

这样,spring5.0就重新支持velocity了。其实,从上面可以看到,我们所做的就是把spring删掉的velocity那部分代码又给添加上了而已。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值