実行時にパラメーターをjarファイルに渡すにはどうすればよいですか?


101

実行時にJARファイルにパラメーターを渡すにはどうすればよいですか?

回答:


144

jarに引数を渡すには:

java -jar myjar.jar one two

manifest.mfJarのファイルに記載されている」「Main-Class」のmain()メソッドでアクセスできます。

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

40

Javaドキュメントは述べています

java [オプション] -jar file.jar [引数...]

そして

...クラス名またはJARファイル名の後の非オプション引数がメイン関数に渡されます...

たぶん、引数を一重引用符で囲む必要があります。


7
このリンクは死んでいます。
bfontaine

1
これは、Javaのjarユーティリティの使用方法を示す作業リンクです-docs.oracle.com/javase/tutorial/deployment/jar。乾杯!
realPK

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
コードを操作するために例外を使用しないでください。代わりに、アクセスする前に配列の長さを確認する必要があります。
チャック258 '30 / 09/30

まあ、プログラムが常に1つ以上のパラメーターを持つ必要がある場合は、何も持たないことが、例外を使用する正当な理由です。
MikeW 2018年

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

log4jプロパティファイルを渡す必要がある場合は、以下のオプションを使用します。

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.