瀏覽代碼

ZOOKEEPER-3291: Improve error message when JAVA_HOME is set to the wrong value

This is small (Windows-based) developer usability improvement.

When the `JAVA_HOME` environment variable is set, but the value is wrong (so that `JAVA_HOME` + `/bin/java.exe` does not point correctly to `java.exe`), the startup script will simply fail with the message
```dos
Error: JAVA_HOME is incorrectly set.
```
which is a bummer. 😞

With this tiny change, the error message will be much friendlier:
```dos
Error: JAVA_HOME is incorrectly set: C:\Program Files\Java\jre1.8.0_201\bin
Expected to find java.exe here: C:\Program Files\Java\jre1.8.0_201\bin\bin\java.exe
```
(in this case showing a situation where one has inadvertently included `/bin` in the `JAVA_HOME` environment variable).

This will also give a nicer error message in situations, where the JRE has been updated, and the one pointed to by `JAVA_HOME` has been uninstalled.

Author: Mogens Heller Grabe <mookid8000@gmail.com>

Reviewers: andor@apache.org, eolivelli@apache.org, fangmin@apache.org

Closes #834 from mookid8000/master
Mogens Heller Grabe 6 年之前
父節點
當前提交
7256d01a26
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      bin/zkEnv.cmd

+ 2 - 1
bin/zkEnv.cmd

@@ -42,7 +42,8 @@ if not defined JAVA_HOME (
 set JAVA_HOME=%JAVA_HOME:"=%
 
 if not exist "%JAVA_HOME%"\bin\java.exe (
-  echo Error: JAVA_HOME is incorrectly set.
+  echo Error: JAVA_HOME is incorrectly set: %JAVA_HOME%
+  echo Expected to find java.exe here: %JAVA_HOME%\bin\java.exe
   goto :eof
 )