I use spring boot 2 I try to create a console base application. When It start i would like to get some input of the user
@SpringBootApplication
public class ConsoleApplication implements CommandLineRunner {
...
@Override
public void run(String... args) throws Exception {
Scanner reader = new Scanner(System.in);
System.out.println("Enter file file path");
this.filePath = reader.next();
...
}
public static void main(String[] args) {
SpringApplication.run(ConsoleApplication.class, args);
}
}
When i try to run it
java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:795) [spring-boot-2.0.8.RELEASE.jar:2.0.8.RELEASE] at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:776) [spring-boot-2.0.8.RELEASE.jar:2.0.8.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.0.8.RELEASE.jar:2.0.8.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1242) [spring-boot-2.0.8.RELEASE.jar:2.0.8.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1230) [spring-boot-2.0.8.RELEASE.jar:2.0.8.RELEASE] at com.sita.geodb.GeoDbApplication.main(GeoDbApplication.java:175) [main/:na] Caused by: java.util.NoSuchElementException: null at java.util.Scanner.throwFor(Scanner.java:862) ~[na:1.8.0_131] at java.util.Scanner.next(Scanner.java:1371) ~[na:1.8.0_131] at com.sita.geodb.GeoDbApplication.run(GeoDbApplication.java:138) [main/:na] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:792) [spring-boot-2.0.8.RELEASE.jar:2.0.8.RELEASE] ... 5 common frames omitted