2012-05-08 14 views
0

私は何年もJava SEに取り組んでおり、Javaアプリケーションを実行するにはJREとSDKという2つのものがありました。今私はJava EEに移行しています。上記の2つの要素(SDKとJRE)に加えて、アプリケーションサーバーが必要であることを知りました。しかし、Java EEのダウンロードページにアクセスすると、SDKとApplication Serverのみが提供されます。さらに、インターネット上では、Java EE仕様に従ってApplication Serverをインストールするだけでよいことが分かりました。 Java EEはアプリケーションサーバーによって実現される仕様ですか?次に、JREはどこにありますか?アプリケーションサーバーの内部にあるのですか、Standard EditionのJREは分散コンポーネントを実行するために使用されますか?アプリケーションサーバーは、どのJavaランタイム環境を使用していますか?

+3

Whoa!一度に1つの質問をお願いします。 – adarshr

+0

'distributed components'とはどういう意味ですか? – kromit

+0

JEEアプリケーションサーバも、JREのみで動作します(Javaコンパイラなし)。しかし、アプリケーションサーバーを実行している間は、java.exeコマンドに-serverオプションを渡してサーバーVMを使用します。 JEE仕様のアプリケーションサーバーに関しては、一部のアプリケーションサーバーは一部または全面的に苦情を申し立てています。サーバーのドキュメントを参照して選択する必要があります。 – Seshagiri

答えて

1

のJava EEはい、仕様のセットです。それらはJava EEサーバーによって実現される傾向がありますが、完全なEE仕様の一部を実装する多数のフレームワークがあります。

エンタープライズサーバーはJavaアプリケーションです。実行するにはJava Runtime Environmentが必要です。通常、JSPのようなものをコンパイルするために、Javaコンパイラであるjavacにもアクセスする必要があります。このため、JavaのSDKであるJava Development Kitでそれらを実行するとうまくいくのです。サーバーは通常、実行中のプラットフォーム上の通常のインストール場所でランタイムを探します。また、環境変数JAVA_HOMEを使用してJDKの場所を特定することもよくあります。

Java EEの特定のサブセットのみを使用する場合は、その部分のスタンドアロン実装を見つけることができるかどうかを確認することが役立ちます。

+0

これは、Java(SE/JEEなど)のすべてのバリエーションで使用されているJRE/JVM実装が1つしかないことを意味しますが、SDK(コードライブラリと思われる)の内容が異なる可能性があります。 – hadaytullah

+0

まあ、そうではありません。いくつかの異なるJVMベンダーがあります。最も一般的に使用されるのはOracles JVMで、Mac、Windows、Linuxの両方で使用できます。ただし、OpenJDKのバージョン、リファレンス実装、およびIBMのものがあります。オラクルはJRockitも提供しています。これはJVMに支払われます。私が知る限り、上記のすべてがJREとJDKの両方を提供します。それらはすべてJava VMとして認定されています。ただし、SDKはまったく変わるべきではありません。これはすべてのVMの標準です。 –

0

Java EEは、アプリケーションサーバーによって実現される仕様ですか。

はい

第二に、どこJREがあり、それは、アプリケーション・サーバーまたはStandard EditionのJRE内では、分散コンポーネントを実行するために使用されるのですか?

いいえ、ほとんどのサーバーは通常、SDKを使用し、ないJRE

関連する問題