startup.bat
を使用してTomcatを実行しようとすると、次のエラーが表示されます。
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
しかし、その後C:\>echo %Java_home%
を試してみると、次の結果が得られます
C:\Program Files\Java\jdk1.6.0_25\bin
システム変数リストにJava_HOME
を手動で設定しようとしましたが、この問題は残ります。
それを解決するために何ができますか?
Windows 7を使用しています。
Java_HOMEという名前の新しいシステム変数を設定し、そのパスを"C:\Program Files\Java\jdk1.6.0_25\bin\"
に設定した後、起動スクリプトを再試行しましたが、今回は新しいエラーが発生します。
D:\Work\Apache-Tomcat-6.0.35\bin>startup.bat
Files\Java\jdk1.6.0_25"" was unexpected at this time.
このエラーの意味は何ですか?
パスを"C:\Program Files\Java\jdk1.6.0_25\"
(binなし)に設定しようとしましたが、同じエラーが発生しました。
Javaを他の場所-スペースなしのディレクトリにインストールしてみてください。 Java_HOME
変数を再度設定して、再試行してください。 Tomcatは、起動時に使用している変数にスペースが含まれていると、Window XPでスペースの問題が発生したことを覚えています。たぶん、Windows 7でも同様です。
Tomcatの起動を処理していたTomcat Javaクラスの行を変更しなければならなかったことを覚えています。
@ Edit: Lucianoは私に気付いてそれに気付いたが、Java_HOME
からbin
も削除する必要がある
@ Edit:また、別の修正(自分でテストしなかった)がJava_HOME
を短縮形に設定したことも覚えています。 C:\Progra~1\Java\jdk1.6.0_25
あなたのJava_HOMEは
C:\Program Files\Java\jdk1.6.0_25
の代わりに
C:\Program Files\Java\jdk1.6.0_25\bin
つまり、binフォルダーはありません。
[〜#〜] update [〜#〜]
あなたがやったように、Java_HOMEを引用符で設定すると、その新しいエラーが表示されます。引用符を使用していますか?その場合、それらを削除します。
Java_HOMEまたはJRE_HOMEからの環境変数の最後にセミコロンを使用しないでください...
Java_HOME=C:\Program Files\Java\jdk1.6.0_25\bin
そして
JRE_HOME=C:\Program Files\Java\jdk1.6.0_32\jre
次のようになります...
Win 8 x86をインストールしました。 Path
変数のエントリは_C:\Program Files\Java\jdk1.6.0_31\bin
_で、次の変数もありました。
Java_HOME
_:_C:\Program Files\Java\jdk1.6.0_31;
_JRE_HOME
_:_C:\Program Files\Java\jre6;
_私のTomcatは_C:\Program Files\Apache Software Foundation\Apache-Tomcat-7.0.41
_にインストールされています
それでも、私にはうまくいきませんでした。
これらのパスの_Program Files
_を_Progra~1
_に置き換えてみました。また、Javaを別のフォルダーに移動して、そのフルパスにスペースが含まれないようにしました。しかし、何も機能しませんでした。
最後に私のために働いた環境変数は次のとおりです。
Program Files
_、つまり_C:\Program Files\Java\jdk1.6.0_31\bin
_でパス変数をそのまま保持Java_HOME
_:_C:\Program Files\Java\jdk1.6.0_31
_JRE_HOME
_したがって、私がしたことは_JRE_HOME
_を削除し、_Java_HOME
_の最後にセミコロンを削除しました。セミコロンは問題にすべきではないと思いますが、削除しました。多くのグーグル検索の後、何も機能せず、突然これらが機能するように見えるので、これらの設定を行っています。複製して、動作するかどうかを確認できます。
これはWin 7 x64でも機能しました。
C:\Program Files (x86)\Java\jdk1.7.0_17\bin
Java_HOME
_はC:\Program Files (x86)\Java\jdk1.7.0_17
に設定されます(セミコロンなし)これがなぜ機能したのか教えてください、_JRE_HOME
_を削除するのは奇妙な解決策でしたが、どのような違いがあるのでしょうか?
Java_HOMEから「bin」を削除します。これで問題が解決します。
環境変数の設定([Windowsキー] + [一時停止キー]、[詳細設定]に切り替え、[環境変数]をクリックし、[システム変数](下のリスト)で、[新規](または既にある場合は[編集]をクリック) )、
名前:Java_HOME
値:C:\ PROGRA〜1\Java\JDK16〜1.0_3
c:\ Program Files\Java\jdk1.6.0_32の場合
「OK」をクリックして、
「システム変数」の「パス」に移動し、
追加;行の最後に(そこに既に1つがない場合)、
追加:C:\ PROGRA〜1\Java\JDK16〜1.0_3\bin
すべて「OK」をクリックします。 -コンピューターを再起動します(推奨)
SemiColonが問題を起こす場合があることを確認してください
Java_HOME=c:\Program Files\Java\jdk1.6.0_32
だがしかし
Java_HOME=c:\Program Files\Java\jdk1.6.0_32;
私が得た同じ問題が解決されていません
Tomcatを削除し、再度解凍すると動作しました。
\ binを使用せずに、Java_HOMEおよびJRE_HOMEの環境変数を設定します。それは私のために働いた
Atlassian's Bambooを参照するための問題は、コマンドを音声マークでラップしていたためです。
そう
SET JRE_HOME="C:\Program Files\Java\jre1.8.0_121"
間違っていました、正しいバージョンは
SET JRE_HOME=C:\Program Files\Java\jre1.8.0_121
これは私にエラーメッセージを与えました
Files\Java\jre1.8.0_121"" was unexpected at this time.
設定しました
変数名:Java_HOME値:C:\ Program Files\Java\jdk1.6.0_32
これらのプロパティをセミコロンなしでシステム/環境変数に設定すると、Tomcatがシステムで実行されます。
それは実際に動作します。
環境変数には、最初に2種類の環境変数があります。ユーザー変数にパスすると、その特定のユーザーに対してのみ機能します。 2番目は、これにパスを設定するとシステム変数です。これはすべてのタイプのユーザーによって使用されます。私のシステムでは、システム変数にJava_HOMEを設定し、動作しませんでした。両方のタイプの環境変数で試してください...
Tomcat8を実行するには、Env VariableでJRE_HOMEを定義する必要があります。
Java_HOMEだけでは、正しく設定されていても機能しません。
JRE_HOME = C:\Program Files\Java\jdk1.8.0_77\jre
SDK内にあるJRE、つまり、JDK(SDK)がインストールされているJREを選択する必要があります。つまり、Java_HOME +\jre
* .jspファイルから生成されたサーブレットをコンパイルするには、JSPをサポートするためにJDKをコンパイルする必要があります。それ以外の場合は、JREを実行する必要があります。したがって、開発時にはJava_HOMEが必要であり、デプロイ時にはJRE_HOMEが必要です。
また、CPUタイプに適したTomcatバージョンを使用していることを確認してください。 32ビットO/Sに64ビットTomcatをインストールしましたが、そうではないときにJava_HOME例外が発生していました。