TemplateInputException

Escenario

Lo habré hecho centenares de veces. Desarrollo en local, pruebas y despliegue en remoto. Según el entorno en el que esté corriendo la aplicación, ésta podrá requerir una configuración distinta. Por ejemplo en un entorno de desarrollo querremos tener el caché deshabilitado o el nivel de los registros más bajo que en uno de producción. Spring boot nos permite gestionar las distintas configuraciones usando múltiples ficheros de propiedades. De este modo para las variables específicas de producción podremos usar un application-prod.properties, y para los experimentos en local, application-local.properties. ¿Cómo sabe la aplicación qué fichero ha de cargar? Primero debemos definir la siguiente clave en application.properties: A continuación establecemos una variable de entorno (en Ubuntu en /etc/environment) con el siguiente valor si queremos que use el properties de producción: ACME_ACTIVE_ENV=prod

Problema

Después de cumplir con los pasos señalados. La aplicación lanza un error cuando invoco cualquiera de sus URLs. En concreto para la página de login, éste: Esto ya me ha pasado, así que lo primero que hago es buscar en este blog pero no encuentro la solución. De modo que esta vez lo dejaré registrado aquí para la posteridad.

Solución

En este caso el problema fue provocado por un despiste, ni en la configuración por defecto (application.properties) ni en la cargada por la variable de entorno estaba definido el prefijo de las plantillas de thymeleaf. Tan fácil como añadirlo:

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *