2015-05-11 7 views
9

Wir verwenden Spring Boot in unserer Anwendung zusammen mit AngularJS und HTML. Wir verwenden Velocity nur für E-Mail-Vorlagen, aber nicht für View Resolver.Disable Velocity View Resolver in Spring Boot

@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; 
} 

Auch wenn wir nicht Geschwindigkeit Ansicht Resolver verwenden bekommen wir die folgenden Fehler aufgrund automatischer Konfiguration:

ERROR org.apache.velocity - Resourcemanager: unable Ressource finden ‚Ladeliste 'in jedem Ressourcenlader. FEHLER org.apache.velocity - ResourceManager: Ressource-Index in keiner Ressource finden loader.

Ich versuchte Geschwindigkeit automatische Konfiguration zu deaktivieren:

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

Auch hat die folgenden in der Datei application.properties:

spring.velocity.check-template-location=false 

Aber ich bin noch immer die oben genannten Fehler. Gibt es überhaupt eine Deaktivierung des Velocity View Resolvers?

+7

Die ausschließen sollte ausreichen, um die Velocity Auto-Konfiguration zu deaktivieren (es funktioniert für mich). Zwei Möglichkeiten: Sie haben eine weitere Annotation "@ EnableAutoConfiguration" in Ihrer Anwendung, bei der der Ausschluss nicht konfiguriert ist. Die automatische Konfiguration ist deaktiviert und der angezeigte Fehler ist auf etwas anderes zurückzuführen. Vielleicht könnten Sie den Autokonfigurationsbericht und den vollständigen Stack-Trace, der zu dem Fehler gehört, posten? –

+1

Danke für Ihre Antwort. Ich hatte @EnableAutoConfiguration auch in einer anderen Datei. Es funktioniert gut nach dem Ausschließen auf der anderen Datei auch. – user1578872

+0

Ich habe ein ähnliches Problem. Ich muss spring.velocity.enabled = false setzen, um den Velocity mvc View Resolver zu deaktivieren. Aber ich verwende Velocity für E-Mail-Vorlagen, und die Einstellung spring.velocity.enabled = false hat zur Folge, dass VelocityEngineUtils.mergeTemplateIntoString (velocityEngine, "/mailing.txt", StandardCharsets.UTF_8.name(), model); findet die Datei "mailing.txt" nicht mehr, wenn das Projekt als WAR-Datei läuft. Während es in Eclipse läuft, funktioniert es immer noch. – yglodt

Antwort