读取带有雄猫的弹簧靴上的控制台输入
2022-09-04 02:37:59
是否可以在弹簧靴上的嵌入式 tomcat 启动之前读取控制台输入?所谓的应用程序流是,向用户请求用户名和密码,这将用于能够启动应用程序。它在使用命令时工作,问题是当我关闭控制台(Linux上的SSH)时,进程停止。我尝试搜索它,发现该进程与控制台相关联,因此我尝试使用,问题是我在使用它时无法请求控制台输入。还有其他方法吗?java -jar
nohup
是否可以在弹簧靴上的嵌入式 tomcat 启动之前读取控制台输入?所谓的应用程序流是,向用户请求用户名和密码,这将用于能够启动应用程序。它在使用命令时工作,问题是当我关闭控制台(Linux上的SSH)时,进程停止。我尝试搜索它,发现该进程与控制台相关联,因此我尝试使用,问题是我在使用它时无法请求控制台输入。还有其他方法吗?java -jar
nohup
我认为这可以帮助你。
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);
}
在执行 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");