有没有一种方法可以在运行jar时在命令行中提供用户名和密码作为参数

时间:2019-06-24 05:48:03

标签: java jar

我有一个jar文件,该文件可让我连接到实例。一旦我在命令行中运行命令java -jar jarname,它将要求输入用户名和密码。有没有办法在命令行中提供用户名和密码作为参数?

1 个答案:

答案 0 :(得分:1)

这里有3个选项:

选项1

如果要读取main方法中的参数,请使用:

 java -jar yourjar.jar user1 pass1

,然后在您的代码中:

public static void main(String [] args) {
     String user   = args[0]; // = user1 
     String passwd = args[1]; // = pass1  
}

选项2

或者,如果要传递系统属性,请使用-D

java -jar -Duser=user1 -Dpasswd=pass1 yourjar.jar

然后在Java中:

String user   = System.getProperty("user"); // user1
String passwd = System.getProperty("pass"); // pass1

选项3

您还可以通过环境变量传递数据,但是您应该首先在某些脚本中设置它们:

 set USER_NAME = "user1"
 set PASSWD    = "passwd1" 

然后您运行:

java -jar yourjar.jar // note, nothing is passed here

在Java中,您可以像这样读取环境变量:

System.getenv("USER_NAME"); // user1
System.getenv("PASSWD");    // passwd1