プロが教えるわが家の防犯対策術!

こんにちわ!yukimura1024です。
ちょっとわかりにくいタイトルかもですが質問です(^^;

○前提条件

1.コマンドプロンプトで以下のようにjarファイルを実行します。

 java -jar xxx.jar xxx1 xxx2

2.xxx.jarのなかはx.class、y.class、z.class、と3つのクラスがあり、
  x.classのmainメソッドが最初に呼び出されます。


○質問

上記条件のとき、x.classのmainメソッド内で「xxx.jar」という文字列を取得したいのですが
こんなことは可能でしょうか?

なぜこんなことをしたいのかというと以下の理由からです。

1.xxx.jarのほかにyyy.jarというjarファイルも作成し、x.class、y.class、z.classを格納する。
2.yyy.jarも最初にx.classのmainメソッドが呼び出される。
3.x.classのmainメソッド内でxxx.jar、yyy.jarのどちらとして呼び出されたのか知りたい!

※2つのjarファイルに格納するx.class、y.class、z.classはまったく同じものです。


アドバイスいただける方いましたらお願いします。

A 回答 (1件)

System.out.println(x.class.getClassLoader().getResource("x.class").toString());


とか書くと、どこのx.classが利用されているか解ります。
URLが取得されるので、そのURLの文字列表現からjarファイルの部分を抜き出すのはそれほど難しくないと思います。

ということで頑張ってください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
おお~なるほどそうやるのですか!
明日早速試してみます!
ありがとうございました(^^

お礼日時:2005/10/03 23:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!