【发布时间】:2019-06-04 11:16:23
【问题描述】:
我正在使用 Spring-Shell,我想在输入特定方法的密码字段时屏蔽输入。
查看互联网和论坛,我发现很多人建议使用 console.readPassword() 命令,但是从 IDE 内部创建控制台会导致结果为空。
Scanner in= new Scanner(System.in)
-------------------------------OR------------------------------------
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)
这些是我试图从用户那里获取输入的代码行,但我找不到屏蔽输入的方法,所以当有人输入密码时它会显示在屏幕上。
环顾四周,我发现要使控制台命令正常工作,我可以使用外部终端而不是 IDE,但是在启动 SpringBoot(一个 Spring-Shell 项目)时,我收到了 Jline 警告:
“无法创建系统终端,正在创建哑终端(启用调试日志以获取更多信息)”。
那么有没有一种简单的方法可以使用scanner/BufferedReader 类来屏蔽密码,还是我需要启用系统终端才能使用控制台?
谢谢
【问题讨论】:
标签: java spring-boot terminal spring-shell jansi