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


101

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

Answers:


144

要将参数传递给jar:

java -jar myjar.jar one two

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

String one = args[0];  
String two = args[1];  


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 {

    }
}

然后启动应用程序:

java -jar myapp.jar arg1 arg2

21
您绝对不应使用异常来控制代码。相反,您应该在访问数组之前检查数组的长度!
chuck258

好吧,如果程序必须始终具有一个或多个参数,恕我直言,使用异常是合法的情况。
MikeW

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

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

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.