使用tomcat在spring boot上读取控制台输入

Eld*_*ito 10 java linux spring tomcat spring-boot

是否可以在Spring Boot上的嵌入式tomcat启动之前读取控制台输入?所谓的应用程序流程是来自用户的请求用户名和密码,并且将用于启动应用程序.它在使用java -jar命令时有效,问题是当我关闭控制台(Linux上的SSH)时,进程停止.我尝试搜索它并发现该进程与控制台绑定,所以我尝试使用nohup,问题是我在使用时无法请求控制台输入.还有其他方法吗?

utk*_*mez 8

我想这可以帮到你.

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    //  prompt for the user's name
    System.out.print("Enter your name: ");

    // get their input as a String
    String username = scanner.next();

    System.out.println(username);

    SpringApplication.run(Application.class, args);
}
Run Code Online (Sandbox Code Playgroud)

  • @ImpulseTheFox 通常的经验法则是始终关闭扫描仪。谈到“System.in”,它略有不同。如果关闭“System.in”,则在应用程序的生命周期内无法再次使用它。因此,如果您不止一次需要它,请将其保持打开状态。不过,这_仅_适用于`System.in`。您仍然需要关闭所有其他内容。 (3认同)