It is possible to run a JAR file locally. The next step is to run it on a different PC.
The question is whether the JRE, the JDK or both are required to run the JAR file?
JDK には JRE が含まれています。
ほとんどのプログラムは JRE (Java ランタイム環境) のみを必要としますが、一部のプログラムは実行時にコンパイラを必要とし、その場合は JDK が必要になります。
JDK がある場合は、JRE も必要ありません。
受け入れられた回答 nobalG のコメントで、「jre が既にあるのに、なぜコンパイラが必要なのですか?」と尋ねました。
執筆時点では、コメントするほどの評判がなかったので、代わりにここに返信しました。
実行時に他のコードをコンパイルし、そのコンパイル済みコードを使用するコードを書きたいという状況がありました。私の場合、特定のフレームワークに基づいてテスト クラスを取得し、それをコンパイルし、クラスをロードし、そこからテスト データを抽出して、データをエンド ツー エンド テストの一部として使用できるツールを作成していました。 . このツールを正しく実行するには、Java コンパイラを使用できるように JDK で実行する必要があります。
jar ファイルを実行するには、java.exe(windows) のみが必要です。JDK は Java の開発キットであり、JRE はランタイムです。JDK には JRE が含まれています。
JRE だけが必要です。
実行しようとしている jar ファイルのマニフェスト ファイルに Main-Class:<classname>
ヘッダーが存在する場合は、次のコマンドで単純に jar ファイルを実行できます。
java -jar [your jar file name]
マニフェスト ファイルにそのエントリがなく、main 関数を含むクラスの完全修飾クラス名がわかっている場合は、次のコマンドで jar ファイルを実行できます。
java -cp [absolute path to jar file] [full qualified class name containing the main function]
jar ファイルを実行するには、JRE のみが必要です。次のコマンドで jar ファイルを実行できます。
java -jar [jarファイル名]
JREは実行するのに十分です
JDKは開発に使用されます
JRE は必要ですが、JDK は必要ありません。JRE は Java ランタイム環境であり、JRE なしでは Java コードを実行できません。.jar はコンパイル済みの Java ファイルであり、Java ランタイム環境を実行する必要があります。
jar ファイルを実行します。したがって、必要なのは Java ランタイム環境 (つまり JRE) だけです。