Это связано с тем, как Maven делают JAR-упаковку.
"С Tomcat он должен работать, если вы используете упаковку war, т.е. будет работать исполняемая война (...). Исполняемый jar не будет работать из-за жестко закодированного шаблона файла в Tomcat."
Вы можете проверить это сами - откройте сгенерированный файл JAR и в корневом каталоге WEB-INF не будет.Это причина и разница, почему в IDE работает нормально, а JAR нет.
Пожалуйста, прочитайте: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-jsp-limitations
Решение: сделать WAR не JAR: -)
Измените упаковку в вашем POM.
<packaging>war</packaging>
Следующий проект сборки обычно, как обычно:
mvn clean install
Запустите его:
java -jar target/app.war