2017-08-21 1 views
1

私の質問は.jarファイルについてです。私のプロジェクトでは、自分の.jarファイルにロードされているjson設定ファイルを使用します。それは私が別の設定ファイルを使用できることを何とかすることが可能ですか?私はサーバー/クライアントソケットを使ったプロジェクトを持っていますが、私は多くのクライアントを持っていることを知っています。各設定ファイルに対して多くのclient.jarを作成したくないので、Client.jarを使い、ちょうど異なる設定ファイル。開始.jarに異なる設定ファイルを読み込むことは可能ですか?

あなたは私を例に説明しようとするでしょう理解できない場合は、次の

多分それはカスタムフラグか何かを作ることが可能ですか?

java -jar -config Client.jar example/foo/config.json 
java -jar -config Client.jar example/foo/config2.json 

のように...私は誰かが私を助けるだろうと思います。.. :)ここ

+0

あなたはどのように設定ファイルをお読みになりますか? –

+0

@MauricePerry私は自分のコードの中にロードしていますが、私は上記のように他の方法で読むように書き直す必要があります。例えば、 – Ervinas34

+0

環境変数を使用しています。 – luk2302

答えて

1

つのオプション:

  1. それは、引数として
  2. パスを、ファイル名を渡しますシステムプロパティとして

オプション1:

あなたはこのようなあなたのjarファイルを実行します:

java -jar Client.jar example/foo/config.json 

とあなたのmain(String[] args)メソッドの最初の引数にファイル名を取得します。

オプション2:

あなたはこのようなあなたのjarファイルを実行します:

java -Dconfig=example/foo/config.json -jar Client.jar 

そして、あなたはSystem.getProperty("config")を呼び出すことにより、ファイル名を取得します。

2番目の方法は、プログラムのどこでもファイル名を使用できるという利点がありますが、最初の起動ではmainメソッドでのみ使用できます。

+0

さて、それは私が探していたものですが、最初のオプションは、このように実行すると、configファイルを実行することができます: java -jar Client.jar example/foo/config.json 後で: java -jar Client.jar example/foo/config2.json? ファイル名はどのように取得されますか? – Ervinas34

+0

@ Ervinas34、args [0]、あなたのメインメソッド –

+0

ありがとう!それは私の質問の100%正確でした!あなたの答えをマークし、有効です! :) – Ervinas34

関連する問題