-
Notifications
You must be signed in to change notification settings - Fork 393
Open
Labels
Milestone
Description
For a simple StringInput component like this:
@Component
public class SimpleComponents {
private final Terminal terminal;
public SimpleComponents(Terminal terminal) {
this.terminal = terminal;
}
@Command(name = "string")
public String string() {
StringInput stringInput = new StringInput(terminal, "Simple string", "<default>");
StringInputContext stringInputContext = stringInput.run(StringInputContext.empty());
return "Value: " + stringInputContext.getResultValue();
}
}I get the following exception when running the command:
org.springframework.shell.core.command.CommandExecutionException: Unable to execute command string
at org.springframework.shell.core.command.CommandExecutor.execute(CommandExecutor.java:74)
at org.springframework.shell.core.InteractiveShellRunner.run(InteractiveShellRunner.java:99)
at org.springframework.shell.core.autoconfigure.ShellRunnerAutoConfiguration.lambda$springShellApplicationRunner$0(ShellRunnerAutoConfiguration.java:41)
at org.springframework.boot.SpringApplication.lambda$callRunner$0(SpringApplication.java:788)
at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:82)
at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60)
at org.springframework.util.function.ThrowingConsumer$1.accept(ThrowingConsumer.java:86)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:800)
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:788)
at org.springframework.boot.SpringApplication.lambda$callRunners$0(SpringApplication.java:776)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:571)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:776)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:328)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354)
at com.example.ComponentsApplication.main(ComponentsApplication.java:9)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:106)
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:64)
at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:40)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:275)
at org.springframework.shell.core.command.adapter.MethodInvokerCommandAdapter.doExecute(MethodInvokerCommandAdapter.java:102)
at org.springframework.shell.core.command.AbstractCommand.execute(AbstractCommand.java:151)
at org.springframework.shell.core.command.CommandExecutor.execute(CommandExecutor.java:71)
... 27 more
Caused by: java.lang.IllegalArgumentException: 'resourceLoader' must not be null
at org.springframework.util.Assert.notNull(Assert.java:182)
at org.springframework.shell.jline.tui.component.support.AbstractComponent.renderTemplateResource(AbstractComponent.java:223)
at org.springframework.shell.jline.tui.component.StringInput.access$000(StringInput.java:42)
at org.springframework.shell.jline.tui.component.StringInput$DefaultRenderer.apply(StringInput.java:328)
at org.springframework.shell.jline.tui.component.StringInput$DefaultRenderer.apply(StringInput.java:324)
at org.springframework.shell.jline.tui.component.support.AbstractComponent.render(AbstractComponent.java:133)
at org.springframework.shell.jline.tui.component.support.AbstractComponent.loop(AbstractComponent.java:295)
at org.springframework.shell.jline.tui.component.support.AbstractTextComponent.runInternal(AbstractTextComponent.java:75)
at org.springframework.shell.jline.tui.component.support.AbstractTextComponent.runInternal(AbstractTextComponent.java:41)
at org.springframework.shell.jline.tui.component.support.AbstractComponent.run(AbstractComponent.java:168)
at com.example.SimpleComponents.string(SimpleComponents.java:20)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... 32 more