浏览代码

ZOOKEEPER-2156: If JAVA_HOME is not set zk startup and fetching status command execution result misleads user (J.Andreina via rakeshr)

git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1680471 13f79535-47bb-0310-9956-ffa450edef68
Rakesh Radhakrishnan 10 年之前
父节点
当前提交
d2a5192d9e
共有 2 个文件被更改,包括 9 次插入3 次删除
  1. 3 0
      CHANGES.txt
  2. 6 3
      bin/zkEnv.sh

+ 3 - 0
CHANGES.txt

@@ -101,6 +101,9 @@ BUGFIXES:
 
   ZOOKEEPER-1077: C client lib doesn't build on Solaris (Chris Nauroth via rgs)
 
+  ZOOKEEPER-2156: If JAVA_HOME is not set zk startup and fetching status command execution
+  result misleads user (J.Andreina via rakeshr)
+
 IMPROVEMENTS:
   ZOOKEEPER-1660 Documentation for Dynamic Reconfiguration (Reed Wanderman-Milne via shralex)  
 

+ 6 - 3
bin/zkEnv.sh

@@ -75,10 +75,13 @@ then
     ZOO_LOG4J_PROP="INFO,CONSOLE"
 fi
 
-if [ "$JAVA_HOME" != "" ]; then
-  JAVA="$JAVA_HOME/bin/java"
+if [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]];  then
+    JAVA="$JAVA_HOME/bin/java"
+elif type -p java; then
+    JAVA=java
 else
-  JAVA=java
+    echo "Error: JAVA_HOME is not set and java could not be found in PATH." 1>&2
+    exit 1
 fi
 
 #add the zoocfg dir to classpath