首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法访问org.springframework.ui.velocity.VelocityEngineFactory方法setVelocityEngine()

无法访问org.springframework.ui.velocity.VelocityEngineFactory方法setVelocityEngine()
EN

Stack Overflow用户
提问于 2022-04-14 13:37:00
回答 1查看 381关注 0票数 0

我已经将我的java web项目从spring 1.5.22升级到2.6.6。在升级过程中,速度包甚至不受欢迎,它被删除了。我知道建议切换到FreeMarker,但作为一个快速修复,我试图修复我的项目。首先,我包括了以下三个依赖项,以获得旧的速度包和类。

代码语言:javascript
运行
复制
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.3.25.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>4.3.3.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
    </dependency>

在此之后,我的大部分代码在进行一些更改后都得到了修复。配置bean中剩下的最后一个问题是我的VelocityConfigurer。我正在尝试用一些属性插入一个VelocityEngine,然后用新创建的VelocityEngine创建一个VelocityConfigurer。就像我在春季启动更新之前做的那样。

代码语言:javascript
运行
复制
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.web.servlet.view.velocity.VelocityConfigurer;

@Configuration
public class MailConfig {

@Bean
@Primary
public VelocityConfigurer velocityEngineBean() {

    VelocityEngine engine = new VelocityEngine();
    engine.setProperty(Velocity.RESOURCE_LOADER, "ds");
    engine.setProperty("ds.resource.loader.class", "XXX.CustomDataResourceLoader");

    engine.setProperty("spring.velocity.checkTemplateLocation=false", "false");
    engine.setProperty("spring.velocity.velocimacro.library", "XXX.vm");

    engine.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, Slf4jLogChute.class.getName());

    engine.init();

    VelocityConfigurer velocityConfigurer = new VelocityConfigurer();
    velocityConfigurer.setVelocityEngine(engine);
    return velocityConfigurer;
}

}

但我得到了以下错误。错误:无法访问org.springframework.ui.velocity.VelocityEngineFactory

我可以弄清楚为什么它可以访问这个方法。带类的.jar在那里.VelocityEngineFactory

EN

回答 1

Stack Overflow用户

发布于 2022-04-14 18:17:37

这将无法工作,因为Spring 2.6需要SpringFramework5.3。速度支持为在SpringFramework4.3中被废弃,5.0移除。如果您想使用最新的、受支持的Spring版本(编写时为2.5.x或2.6.x ),则应该迁移到另一个模板引擎。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71872568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档