64

JCreatorでJavaプログラムをプログラムしましたが、すべて完了しましたが、そこから実行可能ファイルを作成したいのです。つまり、Javaクラスをロードしてコンパイルしてから実行することでプログラムを実行する必要はなく、代わりにスタンドアロンの実行可能ファイル。

これを行う最も簡単な方法は何ですか?

4

11 に答える 11

73

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.classHelloWorldSwing.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)も使用できます。

于 2009-04-30T00:18:28.593 に答える
5

コマンド ラインで、実行可能にする 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]

そしてあなたのプログラムが実行されます:)

于 2009-04-29T22:11:31.740 に答える
3

WinRun4Jを見てください。これは Windows のみですが、これは、UNIX には (ユーザーから見て) ビンのように見える実行可能スクリプトがあるためです。WinRun4J を UNIX でコンパイルするように簡単に変更することもできます。

構成ファイルが必要ですが、ハードコーディングされたオプションで再コンパイルすると、構成のないexeのように機能します。

于 2009-04-29T23:59:10.717 に答える
3

Jexecutable は、Java プログラム用の Windows exe を作成できます。jar を exe ファイルに埋め込み、Windows プログラムのように実行できます。

于 2012-08-06T04:23:58.443 に答える
2

GCJを使用して、Java プログラムをネイティブ コードにコンパイルできます。
ある時期には、Eclipseネイティブ バージョンにコンパイルすることさえありました。

于 2009-04-29T23:34:35.953 に答える
2

launch4jを見てみましょう

于 2009-04-29T23:38:07.880 に答える
1

スクリプトを作成して実行可能にします。スクリプトは、コマンドラインで通常使用するもののようになります。

java YourClass

これは、.javaファイルがすでにコンパイルされており、Javaが.classファイルを見つけることができることを前提としています。javaが.classファイルを見つけられない場合は、-classpathオプションを使用するか、CLASSPATH環境変数を設定することを検討してください。

于 2009-04-29T22:06:09.910 に答える
1

Java Web Startは、Javaリッチクライアントをインターネットからエンドユーザーのデスクトップに直接インストールするための優れたテクノロジです(OSがWindows、Mac、または* nixのいずれであっても)。デスクトップ統合と自動更新、その他多くの機能が備わっています。

JWSの詳細については、JWS情報ページを参照してください。

于 2011-03-05T12:15:30.533 に答える
0

前にも提案したように、launch4j を調べて、JAR ファイルの実行可能ファイルを作成できます。また、「JExePack」と呼ばれるものがあり、再配布できるように .exe ラッパーを jar ファイルの周りに置くことができます (注: クライアントが自分の PC でプログラムを実行するには、とにかく JRE が必要です)。GCJ で作成された Exes はこの依存関係がありますが、プロセスはもう少し複雑です。

于 2009-04-29T23:57:51.623 に答える