2011-02-03 9 views
11

私はこれに対する答えを探していましたが、答えが見つかりません。私はプログラムの実行パスを得ることができますが、私は名前を取得することはできません!基本的に、私は.exeまたは.jar(複雑です)のいずれかになる可能性のあるアプリケーションを作成しています。どのように私はファイル名(Javaで)実行しているプログラムの拡張子を取得することができます知っている?そうJavaプログラムの名前を取得します

java -Dprogram.name=myApp.jar -jar myApp.jar 

読むLIKE「-D」コマンドラインスイッチを介して、あなたのプログラムに渡されるプロパティは、事前に

おかげ

アンディ

+0

質問は不明です。プロセスAは、ランチャー(.exeまたは.jar)を介して起動されます。プロセスAまたは他のプロセスBのランチャーの詳細を確認しますか?Javaベースとは何ですか?プロセスAまたはプロセスB? –

答えて

5

メイク「プログラムの名」そのようにあなたのコードで

if ("myApp.jar".equals(System.getProperty("program.name"))) { 
    // perform appropriate actions... 
} 
+0

ありがとう、私はあなたの答えに関しても上記でコメントしました! – Andy

4

実際のJARファイルを実行するプログラムはjava.exe

私はあなたが全く異なる角度から問題にアプローチし、プログラムが照会するシステムプロパティをexeラッパーに設定することをお勧めします。あるいは、JARマニフェストで異なるメインクラスを指定することもできます。

+0

こんにちは、今私は含意を参照してください - あなたの返信に感謝します。私はあなたが提案したことを試してみるだろうが、何とかして仕事を見つけるだろう! – Andy

関連する問題