У меня небольшая проблема, что весенняя загрузка предоставляет мне абсолютно запутанные сообщения об ошибках, которые ни один из моих клиентов не может или не поймет.spring boot cli достойное сообщение об ошибке
, например:
это мой класс свойство конфигурации
@Component
@ConfigurationProperties(prefix = "input")
class WorkflowRunnerProperties{
@Valid
@NotNull(message = "please provide a file containing your targets for the parameter --input.libraryTargets")
val libraryTargets:File = null
@Valid
@NotNull(message = "please provide a file containing your targets for the parameter --input.correctionTargets")
val correctionTargets:File = null
}
И во время запуска я получаю сообщение об ошибке:
ERROR [главная] SpringApplication - запуск приложений не удалось org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем «workflowRunnerProperties»: не удалось связать свойства с WorkflowRunnerProper (prefix = input, ignoreInvalidFields = false, ignoreUnknownFields = true, ignoreNestedProperties = false); Вложенное исключение - org.springframework.validation.BindException: org.springframework.boot.bind.RelaxedDataBinder $ RelaxedBeanPropertyBindingResult: 2 ошибки Ошибка поля в объекте 'input' в поле 'correctionTargets': отклоненное значение [null]; коды [NotNull.input.correctionTargets, NotNull.correctionTargets, NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: коды [input.correctionTargets, correctionTargets]; аргументы []; сообщение по умолчанию [correctionTargets]]; сообщение по умолчанию [укажите файл, содержащий ваши цели для параметра --input.correctionTargets] Ошибка поля в объекте «вход» в поле «libraryTargets»: отклоненное значение [null]; коды [NotNull.input.libraryTargets, NotNull.libraryTargets, NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: коды [input.libraryTargets, libraryTargets]; аргументы []; сообщение по умолчанию [libraryTargets]]; сообщение по умолчанию [укажите файл, содержащий ваши цели для параметра --input.libraryTargets] на org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.postProcessBeforeInitialization (ConfigurationPropertiesBindingPostProcessor.java:339) на org.springframework.boot.context .properties.ConfigurationPropertiesBindingPostProcessor.postProcessBeforeInitialization (ConfigurationPropertiesBindingPostProcessor.java:289) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization (AbstractAutowireCapableBeanFactory.java:408) ...
который хорош, но обеспечивает так много информации, что она побеждает цель, а л я хочу видеть это:
пожалуйста, предоставьте файл, содержащий ваши цели для --input.correctionTargets параметров укажите файл, содержащий ваши цели для параметра --input.libraryTargets
, что было бы самый простой способ поймать это исключение и только зарегистрировать актуальную информацию для пользователя, не подавляя его со всеми материалами разработчика.
благодаря
Приложение сломано (из того, что я вижу из вашего стека), поэтому сообщение об ошибке, которое вы пытаетесь изолировать, не произойдет. – Makoto
спасибо, но как этот ответ связан? Я просил получить прямой доступ к исключению и не получить весь весной stacktrace, поэтому я могу предоставить пользователю достойное понятное сообщение об ошибке, а не весь весной stacktrace. – berlinguyinca