Во время develepment (в Netbeans), например, если в моем проекте java SpringBoot (2.1.3) с Jetty появляется внутренняя ошибка сервера, я получаю страницу ошибки 500.html, которая находится в src / main / resources /templates / error / 500.html:
Тем не менее, при развертывании в производстве 500.html (то же самое для 404.html) не отображается, потому чтоиз
org.thymeleaf.exceptions.TemplateInputException: Ошибка при разрешении шаблона [/ error / 500], шаблон может не существовать или может быть недоступен для любого из настроенных преобразователей шаблонов
хотя шаблоны находятся в папке /BOOT-INF/classes/templates/error/
банки:
Эти шаблоны вызываются в контроллере ошибок:
@Controller
public class MyErrorController implements ErrorController {
@RequestMapping("/error")
public String handleError(Model model, HttpServletRequest request) {
Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
if (status != null) {
Integer statusCode = Integer.valueOf(status.toString());
model.addAttribute("errorCode",
statusCode);
if (statusCode == HttpStatus.NOT_FOUND.value()) {
return "/error/404";
} else if (statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()) {
return "/error/500";
}
}
return "/error/error";
}
@Override
public String getErrorPath() {
return "/error";
}
Мой проект pom.xml
содержит spring-boot-maven-plugin
, как указано ниже:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.3.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
Обратите внимание: все остальные шаблоны можно найти.
Я прочитал этот другой ТАК вопрос но мое дерево проекта кажется правильным.
Что я должен сделать, чтобы SpringBoot нашел мои шаблоны ошибок?
Любая помощь приветствуется,