2009-07-28 15 views
3

新しいプログラミング言語を習得することなく、Javaを使って.exe(実行可能なWindowsファイル)ソフトウェアを直接入手できますか?そして、.jar(Java ARchive)ソフトウェアをto.exe(実行可能なWindowsファイル)に変換する方法はありますか?Javaソフトウェアを.exeソフトウェアに変換できますか?

この変換はソフトウェアのパフォーマンスに影響しますか?

+2

私の想像力ですか、この質問は少なくとも週に一度聞かれますか? http://stackoverflow.com/questions/516399/create-exe-for-java-program、http://stackoverflow.com/questions/147181/how-can-i-convert-my-java-program-to- an-exe-file、http://stackoverflow.com/questions/309329/best-free-tool-to-build-an-exe-from-java-code –

+0

私はちょうど同じリンクを投稿しようとしていました。重複した複製。 – Stroboskop

答えて

6

一つは、それが任意のプラットフォーム上で実行されますということで読みたいと思うかもしれません適切なJava仮想マシン(JVM)がインストールされているWindows(Linux、Windowsなど) .exeファイルは、1つのプラットフォームでのみ動作するようにコンパイルされています。

あなたが望むと思うものは、.jarを.exeに変換して簡単に起動できるようにすることです。私があなたに期待しているのは本当にです。あなたの両親を含め誰もが理解できるJavaアプリケーションを簡単に起動する方法です。

これを行う最も簡単な方法は、Javaアプリケーションを起動するWindowsバッチファイルを作成することです。スクリプトの行、新しいファイルの1つ、ユーザーへの新しい指示の1つ - 「runme.batをダブルクリック」

.jarを.exeに変える方法はありますが、それは本当にあなたが望むもの、もしそうなら、なぜ。

注:メインクラスがマニフェストで指定されている場合は、Windowsで.jarをダブルクリックするだけで起動できます。 .jarsとそのマニフェストの作成を簡単にするために、Apache Antのようなツールを調べたいと思うかもしれません。ちょっとした考え。

EDIT:

、Windowsのバッチファイルがコマンドを含む単純なテキストファイルです。コマンドをテストするには、コマンドプロンプト(Start - > Run - > cmd)でコマンドを実行します。バッチファイルを実行すると、その中のコマンドは一度に1つずつコマンドプロンプトに送られます。 ( - 使用メモ帳などのテキストエディタの.bat)を含む「javaの-jar myfileの「javaの-jar myfile.jar」

バッチファイルを作成する場合は、次のコマンドプロンプトからjarを実行する方法を

.jar "(引用符なし)をダブルクリックすると、myfile.jarのマニフェストで指定されたメインクラスが起動します。 myfile.jarはバッチファイルと同じフォルダになければなりません。

"java -jar lib \ myfile.jar"コマンドを使用すると(引用符を除いて)、バッチファイルはmyfileを実行します。jarファイルは、バッチファイルと同じフォルダにあるlibというフォルダ内にある必要があります。このアプローチは、アプリケーションにJarsが一杯になっていて、ユーザーの顔に押し込みたくない場合に使用します。

バッチファイルを移動すると、バッチファイルを移動すると、 jarファイル - 例"java -jar C:\ dev \ myfile.jar"と入力します。もちろん、絶対パスを使用すると、Jarを移動するとバッチファイルが破損します:)

また、JarファイルをWindowsでダブルクリックするだけで実行できるはずです。メインクラスはマニフェストで指定されます。試してみる。もちろん、ユーザーがダブルクリックできることを納得させることは別の問題です。

最終的に、バッチファイルを使用すると、ユーザーは素晴らしいコマンドプロンプトウィンドウが表示されるまでJavaアプリが終了します。つまり、バッチファイルコマンドを "start"で開始しない限りです。例えば。 "start java -jar myfile.jar"あなたのアプリがSystem.outまたはSystem.errにログを記録するように設定されていれば、あなたのアプリがこれらのストリームのいずれかに書き込むときにもコマンドプロンプトが表示されます。

最後に、Linuxの世界では、バッチファイルに相当するのはシェルスクリプトです。

+1

私は自分よりも自分が望むものを知っているというアイデアが好きです:) Windowsのバッチファイルに関する詳しい指示がありますか? (可能であれば詳細)ありがとうございます。 –

+1

私はUniにいたときとまったく同じことを望んでいました:)私は何かきちんと書かれていて、私の両親に見せることができる何かを望んでいました。あなたの他の質問を見ると、あなたは同じような場所にいると思いました。私はあなたが私に分を与える場合バッチファイルについてのいくつかの指示を含めるために自分の投稿を編集します:) –

+0

恐ろしい:)すべてこれは私には新しいです。あなたはとても役に立ちます! –

4

Runtime.exec()またはProcessBuilderを使用してjavaから.exeを起動できます。

あなたは、私はかなり長い時間のためのexeファイルを作成するには、Javaのラッパーを使用していたhttp://launch4j.sourceforge.net/

1

と.exeのランチャーを行うことができます。

JStart32 それは、* .jarファイルのための単なるラッパーであります。

自分自身に尋ねてください: exeはjavasプラットフォームの独立性の目的を打ち消しませんか?

+0

さて、あなたは1つ以上のダウンロードを出荷/提供することができます:.exe、.dmg、.rpmなど –

2

私はJavaのでは動作しませんが、あなたはJavaランタイムを指すショートカットファイルを使用していない可能性があり、引数としてjarファイルを渡すので、これは適切な答えであるかどうかわからないんだけど、この

私はこれは唯一の方法ではなく、おそらく最善の方法ではないことを認識してください。バッチを作成するか、exeファイルに変換するよりも、Java Appを起動する便利な方法です。

2

非常に簡単な方法は、アプリケーションを起動するWindowsバッチ(.bat)ファイルを作成することです。

関連する問題