使用tomcat在spring启动时读取控制台input【JAVA教程】

!
也想出现在这里? 联系我们
信息

使用tomcat在spring启动时读取控制台input,第1张

概述使用tomcat在spring启动时读取控制台input

在spring启动时embedded的tomcat才可以读取控制台input吗? 假定的应用程序stream程是从用户请求用户名和密码,并将用于启动应用程序。 它在使用java -jar命令时有效,问题是当我closures控制台(linux上的SSH)时,进程停止。 我试着search它,发现这个过程与控制台绑定,所以我尝试使用nohup ,问题是我不能请求控制台input使用时。 有没有其他的方法?

如何防止Maven的spring-boot插件将静态资源复制到目标?

在Docker容器中使用Java在类path中访问JsON文件时遇到fileNotFoundException(SprintBootApplication)

Spring Boot Application:没有findtypes返回值的转换器

在服务器启动后,Spring启动停止

我认为这可以帮助你。

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

你可以使用nohup来启动带有参数的罐子,它们只是不会在终端的新行中​​被提示。 用户可以在启动jar时将它们添加为参数。 见下面的细节。

例:

主要类

public static voID main(String[] args) { String username = args[0]; String password = args[1]; if(username.equals(\”admin\”) && password.equals(\”password\”)) { SpringApplication.run(NohupApplication.class,args); } else { System.out.println(\”You are not authorized to start this application.\”); } }

凭证无效

命令

nohup java -jar example.jar user password

的nohup.out

You are not authorized to start this application.

凭借有效凭证

命令

nohup java -jar example.jar admin password

的nohup.out

. ____ _ __ _ _ /\\ / ___\’_ __ _ _(_)_ __ __ _ ( ( )___ | \’_ | \’_| | \’_ / _` | \\/ ___)| |_)| | | | | || (_| | ) ) ) ) \’ |____| .__|_| |_|_| |___,| / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.5.2.RELEASE)

在执行你的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\”);

如果你想用记录器+ System.out.println()输出等控制台输入完整记录,那么你必须使用

nohup java -jar yourJarfile.jar admin password >> fulllogoutput.log &

另一个问题:

问题是当我关闭控制台(linux上的SSH)的过程中停止。

所以你想运行你的jar文件作为后台进程。 您不能停止您的控制台关闭。 完整命令后加上符号,不会停止。 您可以使用以下命令。

nohup java -jar yourJarfile.jar &

用于完整记录控制台输出

nohup java -jar yourJarfile.jar >> fulllogoutput.log &

&符号用于在后台运行程序。

nohup实用程序使命令作为参数在后台运行,即使在注销后也是如此。

停止/终止后端进程:

要停止后台进程,请使用ps -aux来获取ID,然后kill(ID号)

ps -aux | grep yourJarfile.jar

你会得到身份z号码。 杀了那个

sudo kill -9 <pID>

资源链接: https : //stackoverflow.com/a/12108646/2293534

总结

以上是内存溢出为你收集整理的使用tomcat在spring启动时读取控制台input全部内容,希望文章能够帮你解决使用tomcat在spring启动时读取控制台input所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞129 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容