2014-01-11 6 views
11

Java SE 7用のOracle JREをダウンロードしたばかりです(link)私がダウンロードしたファイルはserver-jre-7u45-linux-x64.tar.gzです。私がこのファイルを解凍したとき、完全なjava JDKを含むという名前のディレクトリが見つかったことに驚きました.jdk1.7.0_45が作成されました。 JREのインストールで期待したものではありません。ここで何が起こっているのですか?OracleのサーバーJREにはJDKが含まれていますか?

+0

ええとjavacが含まれていますか? – user2864740

+1

@ user2864740はい。 –

+0

私は二重にチェックしました。ワオ。実行しているLinuxのバージョンは何ですか?配布用に再パックされたバージョンを入手できるかもしれません。 –

答えて

21

答えは親ページ上のパッケージの説明である:

JDK(Javaの開発キット)。 Java開発者向け。 Javaアプリケーションの開発、デバッグ、監視のための完全なJREとツールが含まれています。

サーバーJRE:(サーバーJava Runtime Environment)サーバーにJavaアプリケーションをデプロイする場合。 JVMモニタリング用のツールやサーバーアプリケーションに一般的に必要なツールが含まれていますが、ブラウザの統合(Javaプラグイン)、自動更新、インストーラは含まれていません。

JRE:(Java Runtime Environment)。ほとんどのエンドユーザーのニーズをカバーします。システム上でJavaアプリケーションを実行するために必要なものがすべて含まれています。サーバーのJREの場合

「一般サーバアプリケーションのために必要なツール」 JDKツールの一部が含まれています。たとえば、TomcatのようなWebコンテナは、JSPをコンパイルされたJavaサーブレットに変換する必要があり、呼び出し可能なJavaコンパイラが必要です。

IMO、Server JREを使用する利点は、含まれていない点です。すなわちセキュリティの悪夢(!)であるJavaプラグインと、運用サービスの安定性に悪い自動更新です。

+5

これは、スタックオーバーフローに関する新たな質問として、サーバーJREに複製されるバイナリがより混乱する可能性があります。メインのJREバイナリ "jre/bin"とは別のディレクトリ "bin"に "サーバアプリケーションに一般的に必要なツール"があることを理解しています。私は両方のディレクトリに "java"や "keytool"のようなバイナリを複製することは理解していません。それをやっていない、あるいは少なくともそれらをシンボリックリンクするのとは対照的に、誰がそれをやっているのか知っていますか?彼らは機能的にどのように異なっていますか?彼らのmd5sumsは「いいえ」を示します。 – Bradley

+0

あなたは「彼ら」に尋ねる必要があります。しかし、シンボリックリンクがスクリプトの記述が壊れている可能性があります。例えばJREに依存するサードパーティのアプリケーションでは、私は彼らが機能的に異なるとは思わない。 –

関連する問題