首页 > 解决方案 > 自动将 JAVA_HOME 设置为最新的 JDK 版本

问题描述

我需要将 JAVA_HOME 设置为 64_bit 文件夹中的最新 JDK 版本。目前,我将其设置为:export JAVA_HOME=/opt/java/hotspot/8/64_bit/jdk1.8.0_172

那么有什么方法可以自动获取最新的 JDK 版本,因为每次我需要在新版本到来时更改脚本。

谢谢

标签: javajava-home

解决方案


它可以在几行 shell 脚本中完成。可能有无数种方法可以实现这一点。以下代码依赖sort's-V标志来查找最新版本。

#!/bin/sh
BASE_DIR=/opt/java/hotspot/8/64_bit/

version=$(ls $BASE_DIR | grep -Eo "([0-9]+\.?){3}(_[0-9]+)?" | sort -Vr | head -1)

if [ -n "$version" ]; then
  folder=$(find $BASE_DIR -maxdepth 1 -name "*${version}*")
  echo "Setting JAVA_HOME to $folder."
  JAVA_HOME="$folder"
  export JAVA_HOME
else
  echo 1>&2 "No JDK installation found in ${BASE_DIR}!"
  exit 1
fi

推荐阅读