openjdk-17.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. # Author: yeho <lj2007331 AT gmail.com>
  3. # BLOG: https://linuxeye.com
  4. #
  5. # Notes: OneinStack for CentOS/RedHat 7+ Debian 9+ and Ubuntu 16+
  6. #
  7. # Project home page:
  8. # https://oneinstack.com
  9. # https://github.com/oneinstack/oneinstack
  10. Install_OpenJDK17() {
  11. if [ "${Family}" == 'rhel' ]; then
  12. if [[ "${RHEL_ver}" =~ ^7$ ]]; then
  13. cat > /etc/yum.repos.d/adoptium.repo << EOF
  14. [Adoptium]
  15. name=Adoptium
  16. baseurl=https://mirrors.tuna.tsinghua.edu.cn/Adoptium/rpm/rhel\$releasever-\$basearch/
  17. enabled=1
  18. gpgcheck=0
  19. EOF
  20. JAVA_HOME=/usr/lib/jvm/temurin-17-jdk
  21. else
  22. yum -y install java-17-openjdk-devel
  23. JAVA_HOME=/usr/lib/jvm/java-17-openjdk
  24. fi
  25. elif [ "${Family}" == 'debian' ]; then
  26. if [[ "${Debian_ver}" =~ ^9$|^10$ ]]; then
  27. #wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | apt-key add -
  28. cat ${oneinstack_dir}/src/adoptium.key | sudo apt-key add -
  29. apt-add-repository --yes https://mirrors.tuna.tsinghua.edu.cn/Adoptium/deb
  30. apt -y update
  31. apt-get --no-install-recommends -y install temurin-17-jdk
  32. JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-${SYS_ARCH}
  33. fi
  34. elif [ "${Family}" == 'ubuntu' ]; then
  35. if [[ "${Ubuntu_ver}" =~ ^16$ ]]; then
  36. cat ${oneinstack_dir}/src/adoptium.key | sudo apt-key add -
  37. apt-add-repository --yes https://mirrors.tuna.tsinghua.edu.cn/Adoptium/deb
  38. apt -y update
  39. apt-get --no-install-recommends -y install temurin-17-jdk
  40. JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-${SYS_ARCH}
  41. else
  42. apt-get --no-install-recommends -y install openjdk-17-jdk
  43. JAVA_HOME=/usr/lib/jvm/java-17-openjdk-${SYS_ARCH}
  44. fi
  45. fi
  46. if [ -e "${JAVA_HOME}/bin/java" ]; then
  47. cat > /etc/profile.d/openjdk.sh << EOF
  48. export JAVA_HOME=${JAVA_HOME}
  49. export CLASSPATH=\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib
  50. EOF
  51. . /etc/profile.d/openjdk.sh
  52. echo "${CSUCCESS}OpenJDK17 installed successfully! ${CEND}"
  53. else
  54. echo "${CFAILURE}OpenJDK17 install failed, Please contact the author! ${CEND}" && grep -Ew 'NAME|ID|ID_LIKE|VERSION_ID|PRETTY_NAME' /etc/os-release
  55. kill -9 $$; exit 1;
  56. fi
  57. }