如何在执行时将参数传递给jar文件?

88 jar

如何在执行时将参数传递给JAR文件?

Rej*_*eji 132

要将参数传递给jar:

java -jar myjar.jar one two
Run Code Online (Sandbox Code Playgroud)

您可以在"Main-Class"的main()方法中访问它们(在manifest.mfJAR 的文件中提到).

String one = args[0];  
String two = args[1];  
Run Code Online (Sandbox Code Playgroud)


Xn0*_*v3r 34

Java文档说:

java [options] -jar file.jar [argument ...]

...将类名或JAR文件名传递给主函数后的非选项参数...

也许你必须把参数放在单引号中.

  • 这个链接已经死了. (7认同)

小智 15

你可以用这样的东西来做,所以如果没有指定参数,它仍然会继续:

public static void main(String[] args) {
    try {
        String one = args[0];
        String two = args[1];
    }
    catch (ArrayIndexOutOfBoundsException e){
        System.out.println("ArrayIndexOutOfBoundsException caught");
    }
    finally {

    }
}
Run Code Online (Sandbox Code Playgroud)

然后启动应用程序:

java -jar myapp.jar arg1 arg2
Run Code Online (Sandbox Code Playgroud)

  • 您永远不应该使用异常来引导您的代码.相反,你应该在访问它之前检查数组的长度! (21认同)

Bac*_*eph 6

java [ options ] -jar file.jar [ argument ... ]
Run Code Online (Sandbox Code Playgroud)

如果您需要传递log4j属性文件,请使用以下选项

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
Run Code Online (Sandbox Code Playgroud)