读取带有雄猫的弹簧靴上的控制台输入

2022-09-04 02:37:59

是否可以在弹簧靴上的嵌入式 tomcat 启动之前读取控制台输入?所谓的应用程序流是,向用户请求用户名和密码,这将用于能够启动应用程序。它在使用命令时工作,问题是当我关闭控制台(Linux上的SSH)时,进程停止。我尝试搜索它,发现该进程与控制台相关联,因此我尝试使用,问题是我在使用它时无法请求控制台输入。还有其他方法吗?java -jarnohup


答案 1

我认为这可以帮助你。

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);
}

答案 2

在执行 java 程序之前,请在 shell 脚本中获取用户名和密码,并将其作为参数传递给应用程序。

#!/bin/bash
# Ask login details
read -p 'user: ' uservar
read -sp 'password: ' passvar
echo

现在你有用户和密码,你可以运行带有nohup的java命令,并将用户密码作为jvm属性传递。您还可以按照其他答案中的建议将用户和密码作为程序参数传递。

喜欢nohup java -jar abc.jar -Duser=$user -Dpassword=$password

并使用获取这些属性

 String user = System.getProperty("String");
 String password = System.getProperty("password");

推荐