
No.1ベストアンサー
- 回答日時:
マニフェストファイルを用意しなくても、クラス名を直接指定する通常のコマンド形式
java -classpath <jarファイル名> <mainがあるクラス名> <コマンドライン引数>
で <mainがあるクラス名> を変えれば起動仕分けることは可能です。
マニフェストファイルには Main-Class 属性を一つしか定義できないので、クラス名を指定しない
java -jar <jarファイル名> <コマンドライン引数>
の形式で起動仕分けることは出来ないと思います。
ありがとう。
java -classpath <jarファイル名> <mainがあるクラス名> <コマンドライン引数>
ですが。
java <mainがあるクラス名> -classpath <jarファイル名> <コマンドライン引数>
に少し順番を変えてみると。
うまく起動するようでした。
でも、この方法だと、jarファイルとは別に
mainを持つクラスファイルが別途必要になってしまう。
一応、
1)mainを持つクラスがjarファイルの中に
含まれているケース
2)mainを持つクラスがjarファイルの中に
含まれていないケース
の2つでうまく起動できることを確認しましたが。
やはり、
mainを持つクラスファイルが別途必要になってしまう。
jarファイルだけで、起動することができ、
しかも、jarファイルの中にmainをもつクラスが
複数ある時に、どれをエントリポイントにするかを
起動時に切り分けられるような方法が知りたくて
今回の質問をした次第です。
よろしく、お願い致します。
たぶん、自分もうすうす無理だとおもっているのですが
javaコマンドとかのマニアックな引数や
あまり、知られていないやりかたとかで、
もしかしたら、知っている方がいるかもしれない
のでは?とおもったので、質問しています。
以上
No.2
- 回答日時:
> mainを持つクラスファイルが別途必要になってしまう。
そんなはずは無いはず……
例えば、SampleClass1 と SampleClass2 の二つのクラスがあって、これらが単一のアーカイブ Samples.jar に入っているとき、
> java -classpath Samples.jar SampleClass1
と
> java -classpath Samples.jar SampleClass2
とで SampleClass1 の main と SampleClass2 の main とを使い分けられませんか?
ありがとう、ございます。
私の勘違いでした。
できました。
このやりかただと、
jarコマンドでjarファイルを作成する時
にマニフェストファイルを指定する必要も
ないみたいです。
複数のバッチコマンドがあって、共通の
クラス群を使用していて、
変更したときにjarファイルをひとつだけ
更新するだけでOKな状態にしておきたかったので
この質問をしました。
おかげで様でそのような方向性で
動いていけそうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
中学のクラス数
-
ヒグマを撃退
-
同一パッケージにあるクラスが...
-
A・B・Cクラスとは?
-
どこからも呼ばれていない無意...
-
命名規約は連番でいいのか?
-
tomcat上でのpropertiesファイ...
-
ベクターワークスでの【クラス...
-
Cstring(日本語含む)をcharに...
-
クラスの行数は?
-
自作のクラスファイルがインポ...
-
javaで画像ファイルの入出力方法
-
エクセルのデータ振り分け方法...
-
C# テキストボックスにマウスが...
-
クラス名の「~Factory」って何?
-
eclipsで新規javaクラスを作成...
-
IPアドレスの3バイト目の呼び方
-
配列の重複する値とその個数を...
-
標準モジュールとクラスモジュ...
-
C#で OpenSSLで3DES
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヒグマを撃退
-
中学のクラス数
-
そんなにお金がなくても年に1度...
-
UMLのクラス図はmain()も含むん...
-
どこからも呼ばれていない無意...
-
java eclipse 型に解決できません
-
配列の重複する値とその個数を...
-
EclipseでJSPのコンパイルエラー
-
僕の出身中学校は200人同級生が...
-
コンボボックスのマウスホイー...
-
main()を持つクラスが2つ以上...
-
Cstring(日本語含む)をcharに...
-
同一パッケージにあるクラスが...
-
IPアドレスのクラスAを取得して...
-
dllと同じプロジェクトにする方法
-
標準モジュールとクラスモジュ...
-
VBAもしくはVB6:クラスの中で...
-
Sub-LVDS規格とは
-
同じクラスにならない確率を教...
-
複数のクラスで共通した関数を...
おすすめ情報