JCreatorでJavaプログラムをプログラムしましたが、すべて完了しましたが、そこから実行可能ファイルを作成したいのです。つまり、Javaクラスをロードしてコンパイルしてから実行することでプログラムを実行する必要はなく、代わりにスタンドアロンの実行可能ファイル。
これを行う最も簡単な方法は何ですか?
JCreatorでJavaプログラムをプログラムしましたが、すべて完了しましたが、そこから実行可能ファイルを作成したいのです。つまり、Javaクラスをロードしてコンパイルしてから実行することでプログラムを実行する必要はなく、代わりにスタンドアロンの実行可能ファイル。
これを行う最も簡単な方法は何ですか?
SDK にバンドルされているjar ツールを使用して、プログラムの実行可能バージョンを作成できます。
これがその方法です。
簡単なのでコマンド プロンプトから結果を投稿していますが、JCreator を使用する場合も同様です。
最初にプログラムを作成します。
$cat HelloWorldSwing.java
package start;
import javax.swing.*;
public class HelloWorldSwing {
public static void main(String[] args) {
//Create and set up the window.
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Hello World");
frame.add(label);
//Display the window.
frame.pack();
frame.setVisible(true);
}
}
class Dummy {
// just to have another thing to pack in the jar
}
非常にシンプルで、「Hello World」を含むウィンドウを表示するだけです
次にコンパイルします。
$javac -d . HelloWorldSwing.java
「開始」フォルダーDummy.classとHelloWorldSwing.class内に 2 つのファイルが作成されました。
$ls start/
Dummy.class HelloWorldSwing.class
次のステップでは、jar ファイルを作成します。各 jar ファイルには、実行可能ファイルに関連する属性が含まれるマニフェスト ファイルがあります。
これは私のマニフェスト ファイルの内容です。
$cat manifest.mf
Main-class: start.HelloWorldSwing
メインクラスが何であるかを説明するだけです( public static void main メソッドを持つもの)
マニフェストの準備が整うと、jar 実行可能ファイルが呼び出されます。
多くのオプションがあります。ここでは -c -m -f ( -c を使用して jar を作成し、 -m を使用してマニフェスト ファイルを指定し、 -f = ファイルに名前を付ける必要があります。) および jar するフォルダーを使用します。
$jar -cmf manifest.mf hello.jar start
これにより、システムに .jar ファイルが作成されます
後でそのファイルをダブルクリックするだけで、期待どおりに実行できます。
JCreatorで.jarファイルを作成するには、「ツール」メニューを使用してjarを作成するだけですが、マニフェストがどのようにそこに行くのかわかりません。
私が見つけたビデオは次のとおりです: Create a Jar File in Jcreator。
この「.jar」アプローチに慣れたら、このスレッドに投稿された他のリンクに進むことができると思います。
jnlp (Java Network Launcher Protocol)も使用できます。
コマンド ラインで、実行可能にする Java ファイルのルート ディレクトリに移動します。
次のコマンドを使用します。
jar -cvf [name of jar file] [name of directory with Java files]
これにより、jar アーカイブに META-INF というディレクトリが作成されます。この META-INF には MANIFEST.MF というファイルがあり、このファイルをテキスト エディターで開き、次の行を追加します。
Main-Class: [fully qualified name of your main class]
次に、次のコマンドを使用します。
java -jar [name of jar file]
そしてあなたのプログラムが実行されます:)
WinRun4Jを見てください。これは Windows のみですが、これは、UNIX には (ユーザーから見て) ビンのように見える実行可能スクリプトがあるためです。WinRun4J を UNIX でコンパイルするように簡単に変更することもできます。
構成ファイルが必要ですが、ハードコーディングされたオプションで再コンパイルすると、構成のないexeのように機能します。
Jexecutable は、Java プログラム用の Windows exe を作成できます。jar を exe ファイルに埋め込み、Windows プログラムのように実行できます。
GCJを使用して、Java プログラムをネイティブ コードにコンパイルできます。
ある時期には、Eclipseをネイティブ バージョンにコンパイルすることさえありました。
launch4jを見てみましょう
スクリプトを作成して実行可能にします。スクリプトは、コマンドラインで通常使用するもののようになります。
java YourClass
これは、.javaファイルがすでにコンパイルされており、Javaが.classファイルを見つけることができることを前提としています。javaが.classファイルを見つけられない場合は、-classpathオプションを使用するか、CLASSPATH環境変数を設定することを検討してください。
Java Web Startは、Javaリッチクライアントをインターネットからエンドユーザーのデスクトップに直接インストールするための優れたテクノロジです(OSがWindows、Mac、または* nixのいずれであっても)。デスクトップ統合と自動更新、その他多くの機能が備わっています。
JWSの詳細については、JWS情報ページを参照してください。
前にも提案したように、launch4j を調べて、JAR ファイルの実行可能ファイルを作成できます。また、「JExePack」と呼ばれるものがあり、再配布できるように .exe ラッパーを jar ファイルの周りに置くことができます (注: クライアントが自分の PC でプログラムを実行するには、とにかく JRE が必要です)。GCJ で作成された Exes はこの依存関係がありますが、プロセスはもう少し複雑です。