私はEclipse+Javaを初めて使用します。eclipseエクスポートオプションを使用して実行可能jarファイルを作成しようとしています。それは非常にうまく機能します。しかし、私のプロジェクトでは、ほぼ10個のパッケージ(自分のもの)と4個のメインクラスがあります。4つのメインクラスから任意のメインクラスを実行できる実行可能jarファイルを作成したいと思います。
例:書き込みクラス名をダブルクリックして、そのクラスを実行します
私はEclipse+Javaを初めて使用します。eclipseエクスポートオプションを使用して実行可能jarファイルを作成しようとしています。それは非常にうまく機能します。しかし、私のプロジェクトでは、ほぼ10個のパッケージ(自分のもの)と4個のメインクラスがあります。4つのメインクラスから任意のメインクラスを実行できる実行可能jarファイルを作成したいと思います。
例:書き込みクラス名をダブルクリックして、そのクラスを実行します
実行可能なjarを使用しないでください。代わりに、コンパイルされたクラスを持つ通常の jar を作成します。
コマンド ラインから、呼び出したいメイン クラスを java jar コマンドの引数として呼び出します。
java -jar test.jar com.company.unit.MainClass1
java -jar test.jar com.company.unit.MainClass2
実行可能 JAR はそのようには機能しません。メイン クラスの場所を宣言する JAR にマニフェスト ファイルを記述し、そのファイルを実行します。4 つの異なる JAR を作成する必要があります。
または、必要な 4 つのうちのどれを入力して実行するかを指定できるメイン クラスを 1 つだけ作成することもできます。基本的に、自分で探している機能を模倣することになります。
最近、Windows、Mac OSX、およびLinuxでダブルクリックして実行できる実行可能jarファイルを作成する方法を示すチュートリアルを作成しました。私のプロジェクトでは、自分で作成した洗練されたライブラリゲームをパッケージ化しました。それが役に立てば幸い。
http://aramk.com/blog/2010/12/05/how-to-make-a-multi-platform-executable-java-jar-file/
コマンドラインオプションを処理してさまざまなものを起動する方法の簡単な例です。@serplatの回答への返信に入れましたが、フォーマットできません。
public static void main(String[] args)
{
if(args.length == 0) {
// Do default here--no options specified
} else if(args.length > 2) {
// Complain that there are too many args, or implement multi-args
} else // known just one arg
if(args[1].equals("option1") {
// call the main of your first app
} else if(args[1].equals("option2") {
// start your second app
...
}
}
コマンドラインを処理するためのより良い方法がありますが、これは理解できるものであり、必要なことを行う必要があります。後で、より柔軟なものを検討するかもしれません。