find_jdks()
{
for java_version in 9 8
do
for jvmdir in /usr/lib/jvm/java-${java_version}-openjdk-* \ /usr/lib/jvm/jdk-${java_version}-oracle-* \ /usr/lib/jvm/jre-${java_version}-oracle-* \ /usr/lib/jvm/java-${java_version}-oracle
do
if [ -d "${jvmdir}" ]
then JDK_DIRS="${JDK_DIRS} ${jvmdir}"
fi
done
done
}
# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not
# defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/default-java"
find_jdks
When the default-jre package is installed, this detects Java 11, but when it isn't, it doesn't.
# apt install tomcat8 openjdk-11-jre-headless
# /etc/init.d/tomcat8 start
* no JDK or JRE found - please set JAVA_HOME
The tomcat8 init script contains:
find_jdks() jvm/java- ${java_ version} -openjdk- * \
/usr/lib/ jvm/jdk- ${java_ version} -oracle- * \
/usr/lib/ jvm/jre- ${java_ version} -oracle- * \
/usr/lib/ jvm/java- ${java_ version} -oracle
JDK_DIRS= "${JDK_ DIRS} ${jvmdir}"
{
for java_version in 9 8
do
for jvmdir in /usr/lib/
do
if [ -d "${jvmdir}" ]
then
fi
done
done
}
# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not "/usr/lib/ jvm/default- java"
# defined in $DEFAULT)
JDK_DIRS=
find_jdks
When the default-jre package is installed, this detects Java 11, but when it isn't, it doesn't.
# apt install tomcat8 openjdk- 11-jre- headless
# /etc/init.d/tomcat8 start
* no JDK or JRE found - please set JAVA_HOME
This was fixed in Debian in 8.5.31-1