2015-05-11 14 views
9

Używamy Spring Boot w naszej aplikacji wraz z AngularJS i HTML. Używamy Velocity tylko do szablonów wiadomości e-mail, ale nie do rozpoznawania widoku.Wyłączyć przelicznik prędkości w 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; 
} 

Choć nie używamy Velocity widok rozpoznawania nazw, otrzymujemy następujący błąd z powodu automatycznej konfiguracji:

ERROR org.apache.velocity - ResourceManager: Nie można znaleźć zasobu „loadlist "w dowolnym programie ładującym zasoby. ERROR org.apache.velocity - Menedżer zasobów: nie można znaleźć zasobu "indeks" w dowolnym ładowaniu zasobu .

Próbowałem wyłączyć Velocity konfigurację Auto:

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

dodał także następujące w pliku application.properties:

spring.velocity.check-template-location=false 

Ale ja wciąż się powyższy błąd. Czy mimo to można wyłączyć sam przelicznik prędkości?

+7

Wyklucz powinno wystarczyć, aby wyłączyć automatyczną konfigurację Velocity (działa to dla mnie). Dwie możliwości: masz inną adnotację '@ EnableAutoConfiguration' w twojej aplikacji, która nie ma skonfigurowanego wykluczenia; Autokonfiguracja jest wyłączona, a błąd, który widzisz, jest spowodowany czymś innym. Być może mógłbyś opublikować raport autokonfiguracji i pełny ślad stosu, który towarzyszy błędowi? –

+1

Dzięki za odpowiedź. Miałem także @EnableAutoConfiguration w innym pliku również. Działa również dobrze po wykluczeniu również w drugim pliku. – user1578872

+0

Mam podobny problem. Muszę ustawić spring.velocity.enabled = false, aby wyłączyć przelicznik widoku Velocity mvc. Ale używam Velocity do szablonów wiadomości e-mail, a ustawienie spring.velocity.enabled = false ma konsekwencję VelocityEngineUtils.mergeTemplateIntoString (velocityEngine, "/mailing.txt", StandardCharsets.UTF_8.name(), model); nie znajduje pliku "mailing.txt", gdy projekt jest uruchomiony jako plik WAR. Podczas działania w środowisku Eclipse nadal działa. – yglodt

Odpowiedz