109

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

4

5 回答 5

158

将参数传递给 jar:

java -jar myjar.jar one two

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

String one = args[0];  
String two = args[1];  
于 2009-01-19T06:27:21.193 回答
42

JAVA 文档说:

java [选项] -jar file.jar [参数...]

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

也许您必须将参数放在单引号中。

于 2009-01-19T06:20:54.233 回答
16

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

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
于 2012-06-23T21:41:06.507 回答
6
java [ options ] -jar file.jar [ argument ... ]

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

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
于 2018-04-05T09:18:15.153 回答
1

如果参数中有空格,您可以如下所示传递。

java -jar myjar.jar 'first argument' 'second argument'
于 2020-09-28T05:56:29.080 回答