24

を使用して tomcat を実行しようとするとstartup.bat、次のエラーが表示されます。

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

4

18 に答える 18

32

スペースのないディレクトリに、Javaを別の場所にインストールしてみてください。JAVA_HOME変数を再設定して、再試行してください。Tomcatが含まれているスペースを開始するときに使用していた変数がある場合、Tomcatがスペースを使用してWindowsXPでいくつかの問題を抱えていたことを覚えています。多分それはWindows7と似ています。

Tomcatの起動を処理していたTomcatjavaクラスのいくつかの行を変更しなければならなかったことを覚えています。

@編集:binルチアーノはそれに気付くために私を殴りましたが、あなたはまたから削除する必要がありますJAVA_HOME

@編集:別の修正(ただし、自分でテストしなかった)がJAVA_HOME短縮バージョンに設定されたことも覚えています。C:\Progra~1\Java\jdk1.6.0_25

于 2012-01-13T23:53:32.727 に答える
19

あなたのJAVA_HOMEは

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

それ以外の

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

つまり、binフォルダーなしです。

アップデート

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

于 2012-01-13T23:55:37.567 に答える
9

環境変数の末尾にセミコロンを付けないでください... 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

示されているようにする必要があります...

于 2012-05-08T04:46:55.577 に答える
6

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を別のフォルダーに移動してみました。しかし、何も機能しませんでした。

最後に、私のために働いた環境変数は次のとおりです。

  • フルIEでパス変数をそのまま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のが奇妙な解決策であることは知っていますが、それがどのような違いを生むと思いますか?

于 2013-09-30T15:43:08.663 に答える
2

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

于 2013-07-26T21:50:16.937 に答える
1

環境変数を設定 ([Windows キー] + [一時停止キー]、[詳細] に切り替え、[環境変数] をクリックし、[システム変数] (下のリスト) で [新規] (または既にある場合は [編集] をクリックします) )、

名前: JAVA_HOME

値: C:\PROGRA~1\Java\JDK16~1.0_3

C:\Program Files\Java\jdk1.6.0_32 の場合

「OK」をクリックし、

「システム変数」の「パス」に移動し、

追加 ; 行の最後に (既に行がある場合を除きます)、

追加: C:\PROGRA~1\Java\JDK16~1.0_3\bin

すべてで「OK」をクリックします。-- コンピュータを再起動します (推奨)

于 2012-05-31T21:07:52.323 に答える
0

私は

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

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

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

于 2012-06-12T17:44:17.917 に答える
0

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

于 2013-10-12T16:58:33.730 に答える
0

Tomcatを削除して再度解凍すると、うまくいきました。

于 2015-01-20T14:21:18.473 に答える
0

\bin なしで JAVA_HOME および JRE_HOME の環境変数を設定します。それは私のために働いた

于 2014-08-29T05:30:00.217 に答える
0

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

于 2013-02-14T12:13:31.910 に答える
0

セミコロンが問題になる場合があります。

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

だがしかし

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

同じ問題が発生しましたが、解決されていません

于 2014-03-14T08:57:50.507 に答える
-1
First Run the tomcat directly through the tomcat /bin folder with 
startup.bat if running sucessful the set the variable as below sample    

JAVA_HOME 値: C:\Program Files\Java\jdk1.6.0_32;

パス: C:\Program Files\Java\jdk1.6.0_32\bin;

CATALINA_HOME=C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.27 ;

PATH=%PATH%;%JAVA_HOME%\bin;%CATALINA_HOME%\bin;

必要に応じて CLASS_PATH:%CATALINA_HOME%\lib;%JAVA_HOME%\lib;

于 2013-10-26T07:32:42.880 に答える
-1

セミコロンを削除すると、そのリンクが表示されます: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_HowTo.html

于 2015-02-06T23:15:17.210 に答える
-2

同様の問題がありましたが、デバッグ モードを使用しない限り、JAVA_HOME を設定する必要がないことに注意してください。Windows 7 の tomcat は、環境変数のスペースを処理できます。問題は、パスの「bin」が原因です。JRE_HOME を C:\Program Files (x86)\Java\jre1.8.0_65 に設定すると問題が解決し、Tomcat は問題なく稼働しています

于 2015-10-23T11:54:17.230 に答える