Usiamo Spring Boot nella nostra applicazione insieme a AngularJS e HTML. Utilizziamo Velocity solo per i modelli di email ma non per il risolutore di viste.Disabilita il risolutore di vista Velocity 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;
}
Anche se non usiamo Velocity vista resolver, otteniamo il seguente errore a causa della configurazione automatica:
ERRORE org.apache.velocity - ResourceManager: incapace di trovare risorse 'loadlist 'in qualsiasi caricatore di risorse. ERRORE org.apache.velocity - ResourceManager: impossibile trovare l''indice' della risorsa in qualsiasi risorsa caricatore .
ho cercato di disattivare la configurazione automatica di velocità:
@Configuration
@ComponentScan
@EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class,VelocityAutoConfiguration.class })
@SuppressWarnings("PMD")
@EnableAsync
public class Application {
ha anche aggiunto il seguente nel file application.properties:
spring.velocity.check-template-location=false
Ma io sono ancora ottenere l'errore precedente. Esiste comunque la possibilità di disabilitare il risolutore di velocità Velocity da solo?
Escludi dovrebbe essere sufficiente per disabilitare la configurazione automatica di Velocity (funziona per me). Due possibilità: hai un'altra annotazione '@ EnableAutoConfiguration' nella tua applicazione che non ha l'exclude configurata; la configurazione automatica è disabilitata e l'errore che stai vedendo è dovuto a qualcos'altro. Forse potresti pubblicare il rapporto di autoconfigurazione e l'intera traccia di stack che accompagna l'errore? –
Grazie per la risposta. Ho avuto anche @EnableAutoConfiguration su qualche altro file. Funziona bene dopo aver escluso anche l'altro file. – user1578872
Sto avendo un problema simile. Devo impostare spring.velocity.enabled = false per disabilitare il resolver di velocità Velocity mvc. Ma sto usando Velocity per i modelli di email e l'impostazione spring.velocity.enabled = false ha la conseguenza che VelocityEngineUtils.mergeTemplateIntoString (velocityEngine, "/mailing.txt", StandardCharsets.UTF_8.name(), modello); non trova più il file "mailing.txt" quando il progetto è in esecuzione come file WAR. Durante l'esecuzione in Eclipse funziona ancora. – yglodt