Skip to content

Commit f229463

Browse files
author
Vladimir Kotal
authored
detect Java binary also via JAVA_HOME env var (#2476)
fixes #2474
1 parent feabd84 commit f229463

File tree

1 file changed

+14
-4
lines changed
  • opengrok-tools/src/main/python/opengrok_tools/utils

1 file changed

+14
-4
lines changed

opengrok-tools/src/main/python/opengrok_tools/utils/java.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,19 @@ def __init__(self, command, logger=None, main_class=None, java=None,
7575

7676
def FindJava(self, logger):
7777
"""
78-
Determine Java home directory based on platform.
78+
Determine Java binary based on platform.
7979
"""
8080
java = None
8181
system_name = platform.system()
8282
if system_name == 'SunOS':
8383
rel = platform.release()
8484
if rel == '5.10':
85-
javaHome = "/usr/jdk/instances/jdk1.7.0"
85+
java_home = "/usr/jdk/instances/jdk1.7.0"
8686
elif rel == '5.11':
87-
javaHome = "/usr/jdk/latest"
88-
java = os.path.join(javaHome, 'bin', 'java')
87+
java_home = "/usr/jdk/latest"
88+
89+
if os.path.isdir(java_home):
90+
java = os.path.join(java_home, 'bin', 'java')
8991
elif system_name == 'Darwin':
9092
cmd = Command('/usr/libexec/java_home')
9193
cmd.execute()
@@ -96,6 +98,14 @@ def FindJava(self, logger):
9698
# Resolve the symlink.
9799
java = os.path.realpath(link_path)
98100

101+
if not java:
102+
java_home = os.environ.get('JAVA_HOME')
103+
if java_home:
104+
logger.debug("Could not detemine Java home using standard "
105+
"means, trying JAVA_HOME: {}".format(java_home))
106+
if os.path.isdir(java_home):
107+
java = os.path.join(java_home, 'bin', 'java')
108+
99109
return java
100110

101111

0 commit comments

Comments
 (0)