У меня есть простой проект Spring Boot с настроенным стартером spring-shell
. Но у меня проблема с выводом при работе в IntelliJ IDEA (версия 2018.1)
Вот конфигурация моего приложения. У меня есть объявление bean для PromptProvider
:
@Bean
public PromptProvider promptProvider() {
return () -> new AttributedString("my-shell:>", AttributedStyle.DEFAULT.foreground(AttributedStyle.GREEN));
}
И у меня есть компонент оболочки с методом shell:
@ShellComponent
public class MathComponent {
@ShellMethod("add two ints")
public int add(int a, int b) {
return a + b;
}
}
Прежде всего, моя подсказка не отображается в выходных данных. Тем не менее, ввод читается, но даже тогда вывод не является правильным. Вот входы и выходы, которые я получаю:
add 1 2 #input
3 #output
add 3 4 #input
ad7 #output
add 5 6 #input
ad 611 #output
При сборке приложения и запуске его из терминала все работает нормально. Я нашел этот вопрос CLI-Spring Shell в IntelliJ , но ответ, предоставленный там, не работает для меня, добавление -Djline.terminal=org.springframework.shell.core.IdeTerminal
в качестве аргумента VM ничего не изменило.
Я запускаю это на MacOS High Sierra 10.13.6
.