Java プログラミングの世界の初心者として、この質問は常に頭を悩ませてきました。最初は、すべての Java ファイルが圧縮されapplets
てから実行されると信じていましたが、すぐにそうではないことに気付きました。Java アプリケーションを実際に日常生活の製品に織り込む方法を誰か説明してもらえますか?
TL;DR: コードを実際に使用するためにどのように実装しますか?
Java プログラミングの世界の初心者として、この質問は常に頭を悩ませてきました。最初は、すべての Java ファイルが圧縮されapplets
てから実行されると信じていましたが、すぐにそうではないことに気付きました。Java アプリケーションを実際に日常生活の製品に織り込む方法を誰か説明してもらえますか?
TL;DR: コードを実際に使用するためにどのように実装しますか?
アプリケーションによって異なります。ユーザーにアプリをどのように使用してもらいたいかによって、多くのオプションがあります。通常、瓶または特殊な瓶(戦争、耳)としてパッケージ化されています。
理論的には、ファイルを含む未加工のディレクトリ構造を圧縮し、ユーザーにコマンドを.class
実行するシェル スクリプト/指示を提供できます。java
これは専門的ではなく、プログラムを実行できるようにする OS ごとにシェル スクリプトを維持する必要があるため、お勧めしません。
Jar ファイルはライブラリをパッケージ化するために使用されますが、「誰かがこれをダブルクリック/実行すると、このクラスを実行する」というマニフェスト ファイルを含めることもできます。そのクラスは、GUI を起動したり、パラメーターに応答するヘッドレス タスクにしたりできます。
あなたが言ったように、アプレットを持つことができます。これらのプログラムは、ユーザーのブラウザーで実行されます。
war ファイルを使用できます。これは、Web アプリケーションをパッケージ化する方法です。これを Web サーバーに渡すと、サーバーは Web ページにアクセスできるようにデプロイする方法を認識します。Web サーバー/コンテナーの例はtomcatまたはjettyです。
内部に他の war ファイルを含むことができるear ファイルを持つことができます。これは、javaee 機能の他の部分 (ejbs、jms キューなど) を必要とするアプリケーションに使用されます。アプリケーション サーバーの例はjbossまたはglassfishです。
Java Web Startアプリもあります。これらは、Web ページにアクセスして実行できるアプリですが、コンピューターにダウンロードされ、ユーザーのコンピューターで実行されます (war/ear のようにサーバーのバックエンドではなく)。
javafxもあります。私はそれについて何も知りません。 FAQ をざっと読むと、Adobe の Flexに対する Java の回答のように見えます。xml 構成を使用して UI コンポーネントを構成します。JavaFX アプリがどの形式を使用するかはわかりませんが、「デスクトップまたはブラウザーにデプロイする」と表示されています。
以下のコメントで Sotirios Delimanolis が言及したように、これらのファイルは Ant や Maven などのビルド システムでビルドできます。また、java/javaee sdk に付属のツールを使用して「手動で」ビルドすることもできます。たとえばjar
、sdk をインストールした場合は、パスにコマンドが含まれている必要があります。これらのビルド システムの詳細を次に示します。
アプリケーションがクライアント上で実行される場合は、実行可能な JAR としてパッケージ化され、さらにアプリケーション バンドル (Mac) としてパッケージ化されるか、exe にラップされるか (Windows)、または JAR を起動する実行可能スクリプトとペアになります。必要な VM 引数を設定します。
Web アプリケーションの一部である場合は、WAR または EAR としてパッケージ化され、Web サーバー上の適切な場所に配置されます。
単純なライブラリの場合は、通常、JAR (非実行可能) としてパッケージ化され、大規模なプロジェクトに統合するためにそのまま配布されます。
アプレットを実行してから実行しましたが、これが常に当てはまるとは限らないことにすぐに気付きました
実際、アプレットは最近では珍しく、その使用はお勧めできません。