web-dev-qa-db-ja.com

Java_HOMEパスが正しいにもかかわらずTomcatが実行されていない

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なし)に設定しようとしましたが、同じエラーが発生しました。

23
Quazi Irfan

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

28
Mateusz Dymczyk

あなたのJava_HOMEは

C:\Program Files\Java\jdk1.6.0_25

の代わりに

C:\Program Files\Java\jdk1.6.0_25\bin

つまり、binフォルダーはありません。

[〜#〜] update [〜#〜]

あなたがやったように、Java_HOMEを引用符で設定すると、その新しいエラーが表示されます。引用符を使用していますか?その場合、それらを削除します。

19
Luciano

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

次のようになります...

8
Nitesh Jain

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_を削除するのは奇妙な解決策でしたが、どのような違いがあるのでしょうか?

5
Mahesha999

Java_HOMEから「bin」を削除します。これで問題が解決します。

2
cijothomas

環境変数の設定([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」をクリックします。 -コンピューターを再起動します(推奨)

1
user257319

SemiColonが問題を起こす場合があることを確認してください

Java_HOME=c:\Program Files\Java\jdk1.6.0_32 

だがしかし

Java_HOME=c:\Program Files\Java\jdk1.6.0_32;

私が得た同じ問題が解決されていません

0
user3418679

Tomcatを削除し、再度解凍すると動作しました。

0
Alex

\ binを使用せずに、Java_HOMEおよびJRE_HOMEの環境変数を設定します。それは私のために働いた

0

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.
0
tim.baker

設定しました

変数名:Java_HOME値:C:\ Program Files\Java\jdk1.6.0_32

これらのプロパティをセミコロンなしでシステム/環境変数に設定すると、Tomcatがシステムで実行されます。

それは実際に動作します。

0
Veluru

環境変数には、最初に2種類の環境変数があります。ユーザー変数にパスすると、その特定のユーザーに対してのみ機能します。 2番目は、これにパスを設定するとシステム変数です。これはすべてのタイプのユーザーによって使用されます。私のシステムでは、システム変数にJava_HOMEを設定し、動作しませんでした。両方のタイプの環境変数で試してください...

0
satya

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が必要です。

0
vimal krishna

また、CPUタイプに適したTomcatバージョンを使用していることを確認してください。 32ビットO/Sに64ビットTomcatをインストールしましたが、そうではないときにJava_HOME例外が発生していました。

0
jimmy