在Spring Boot中禁用Velocity视图解析器

时间:2015-05-11 17:09:29

标签: spring spring-mvc spring-boot velocity

我们在应用程序中使用Spring Boot以及AngularJS和HTML。我们仅将Velocity用于电子邮件模板,但不用于视图解析器。

@Bean(name = "velocityEngine")
public VelocityEngineFactoryBean velocityEngineFactoryBean() {
    VelocityEngineFactoryBean vefb = new VelocityEngineFactoryBean();
    Properties p = new Properties();
    p.put("resource.loader", "class");
    p.put("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
    vefb.setVelocityProperties(p);
    return vefb;
}

即使我们不使用Velocity视图解析器,我们也会因自动配置而出现以下错误:

  

错误org.apache.velocity - ResourceManager:无法找到资源   任何资源加载器中的'LoadList'。错误org.apache.velocity -   ResourceManager:无法在任何资源中找到资源“索引”   加载器。

我尝试禁用Velocity自动配置:

@Configuration
@ComponentScan
@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class,VelocityAutoConfiguration.class })
@SuppressWarnings("PMD")
@EnableAsync
public class Application {

还在application.properties文件中添加了以下内容:

spring.velocity.check-template-location=false

但我仍然遇到上述错误。反正有没有单独禁用Velocity视图解析器?

2 个答案:

答案 0 :(得分:0)

我知道这个问题很老,但很容易禁用:

只需添加

spring.velocity.enabled = false

到application.properties

来源:http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

答案 1 :(得分:0)

在Spring引导中,通过注释,您可以排除VelocityAutoConfiguration之类的

&quest