2013-12-09 12 views
5

サーバーインスタンス(Windows Server 2008 R2 Enterpriseの新規インストール)にTomcat 6を設定しようとしています。私は、Java EEサービスをURL経由で利用可能にしたいと考えています。Tomcat 7をサーバーに設定する: "NB:JAVA_HOMEはJDKではなくJDKを指す必要があります" ...なぜですか?

サーバではlocalhostで動作します。私は/webappsに.warファイルを置き、/binのstartup.batを実行してから私のブラウザでlocalhost:80/myWebServceに移動して私のウェルカムページに誘導しました。

The JAVA_HOME environment variable is not defined correctly 
This environment variable is needed to run this program 
NB: JAVA_HOME should point to a JDK not a JRE 

私の質問は次のとおりです:

私は(/binフォルダ内)service.batを実行してサービスを作成してみてください)私が言うエラーメッセージが表示されますなぜ?私は、JDKが単なるJREであると思っていました。いくつかの開発ツール(IDE、デバッガなど)。 TomcatにJDKが必要なのはなぜですかサービスとして実行するにはlocalhostでは実行できませんか? Webサービスを実行するために必要なJDKには何が入っていますか?コンパイラはJDKに存在されて、それは同じことを要求するよう

答えて

5

TomcatにはJDKは必要ありません。 Tomcatは、* .jsp - > * .java - > * .classプロセスの一部としてTomcatが使用するEclipse JDTコンパイラを使用して、JSPをコンパイル済みサーブレットに変換します。

ただし、JAVA_HOMEを指定した場合、Tomcatは完全なJDKインストールを指すことを想定しています。 JREを使用する場合は、JAVA_HOMEではなくJRE_HOMEを設定する必要があります。

0

のWebコンテナは、JSPなどのソースのコンパイルをサポートするために、JDKが必要です。(これは、それはJDKが必要な場合が理由の一つである)

0

システムとしてJAVA_HOMEを作ります環境変数の代わりに変数、再起動アプリケーション(Tomcat)。それは正常に動作するはずです。

別の方法としては、議論here

+1

これは彼の質問ではありません。彼の質問は、JDKが必要だということです。 –

+0

それはそうではありません、それは何かが間違っているときに表示されるちょうどデフォルトのメッセージです。 – Daniel

0

と同じ問題に直面するかもしれない、我々はあなたが.warファイルを提供しているので、...あなたの条件を実行する順序どおりJDKが必要はい、私たちは、戦争からjarファイルを内容を抽出するためにjarコマンドを必要とします。..ファイル。 jarコマンドはJREではなく、JDKでのみ検出されます。ご希望の場合は、JDK、JREをチェックアウトすることができます。それは私が他のものから離れて観察した基本的なことです。

0

JAVA_HOMEが正しく設定されていることを確認します.JDKがインストールされている場合は、jre用にJRE_HOMEを作成してください。JDK用にJAVA_HOMEが設定されます。また、"C:/Progra~1/...""C:/Program Files/..."を交互に使用して、システムがパスを正しく認識していることを確認してください。

6

JRE_HOME/JAVA_HOME変数の最後からセミコロンを削除してください。 ...そこにセミコロンすべきではない

変数:JAVA_HOME 値:C:\プログラムファイル\のJava \ jdk1.6.0(注:末尾のセミコロンなし)

変数:JRE_HOME 値:C: \ Program Files \ Java \ jre1.6.0(最後にセミコロンはありません)

上記の変更を適用して、tomcatを正常に実行します。

+0

それは私のために働いた.. :)ありがとう。 – santoshM

関連する問題