Вызвано: org.springframework.context.NoSuchMessageException в Spring Boot

#java #spring-boot

#java #spring-boot

Вопрос:

У меня есть проект Spring boot Maven, и я пытаюсь поймать исключение ввода-вывода, и я получаю эту ошибку:

 org.springframework.context.NoSuchMessageException: No message found under code 'inventory.error' for locale 'de_DE'.
  

Мой метод:

 @PostMapping("/inventory")
public String inventory(@ModelAttribute("Inventory") Inventory inventory, BindingResult bindingResult) {
    try {
        testBuildMdb();
    } catch (Exception e) {
        bindingResult.rejectValue("error", null, e.getMessage());
    }

    if (bindingResult.hasErrors()) {
        return "inventory";
    }

    return "success";
}
  

Я думаю, это потому, что мой язык Windows — немецкий. Как я могу изменить язык моего исключения на английский?

Комментарии:

1. Вы этого не делаете и не должны. У вас должно быть значение по умолчанию messages.properties , содержащее переводы по умолчанию (возможно, на английском языке). Он будет использовать это как запасной вариант .

2. Должен ли быть пробел в Inventoryinventory?

Ответ №1:

Это связано с тем, что файлы свойств не могут быть найдены на основе структуры файла свойств, приложения.yml должен быть похож на spring.messages.basename: yourProjectDirectory/messages /сообщения