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

use*_*872 10 spring velocity spring-mvc spring-boot

我们在应用程序中使用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;
}
Run Code Online (Sandbox Code Playgroud)

即使我们不使用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 {
Run Code Online (Sandbox Code Playgroud)

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

spring.velocity.check-template-location=false
Run Code Online (Sandbox Code Playgroud)

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

Coc*_*oco 1

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

只需添加

spring.velocity.enabled = false
Run Code Online (Sandbox Code Playgroud)

到 application.properties

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