Skip to content

Instantly share code, notes, and snippets.

@luizrobertofreitas
Created August 4, 2018 17:34
Show Gist options
  • Save luizrobertofreitas/d11d5bbc0486d551bf7a8fd27a338c6a to your computer and use it in GitHub Desktop.
Save luizrobertofreitas/d11d5bbc0486d551bf7a8fd27a338c6a to your computer and use it in GitHub Desktop.
Setting up java alternatives
#!/usr/bin/env python
import subprocess
import os
ALL_JDK_FOLDERS = ['jdk1.8.0_181', 'graalvm-ee-1.0.0-rc4', 'jdk-10.0.1', 'jdk-9.0.4', 'jdk1.7.0_80', 'jdk1.6.0_45']
BASE_FOLDER = '/opt/jdks'
DEFAULT_JDK_FOLDER = 'jdk1.8.0_181'
print("Installing java versions on alternatives")
print("")
print("Removing all java versions")
print("")
subprocess.call(['update-alternatives', '--remove-all', 'java'])
subprocess.call(['update-alternatives', '--remove-all', 'javac'])
subprocess.call(['update-alternatives', '--remove-all', 'javaws'])
subprocess.call(['update-alternatives', '--remove-all', 'jconsole'])
subprocess.call(['update-alternatives', '--remove-all', 'keytool'])
subprocess.call(['update-alternatives', '--remove-all', 'java_home'])
print("")
print("Setting up all versions again")
print("")
priority=1
for jdk in ALL_JDK_FOLDERS:
print("Setting up {0}, with priority {1}".format(jdk, priority))
print("")
os.system('update-alternatives --install "/usr/bin/java" "java" "{0}/{1}/bin/java" {2}'.format(BASE_FOLDER, jdk, priority))
os.system('update-alternatives --install "/usr/bin/javac" "javac" "{0}/{1}/bin/javac" {2}'.format(BASE_FOLDER, jdk, priority))
os.system('update-alternatives --install "/usr/bin/javaws" "javaws" "{0}/{1}/bin/javaws" {2}'.format(BASE_FOLDER, jdk, priority))
os.system('update-alternatives --install "/usr/bin/jconsole" "jconsole" "{0}/{1}/bin/jconsole" {2}'.format(BASE_FOLDER, jdk, priority))
os.system('update-alternatives --install "/usr/bin/keytool" "keytool" "{0}/{1}/bin/keytool" {2}'.format(BASE_FOLDER, jdk, priority))
os.system('update-alternatives --install "/opt/java_home" "java_home" "{0}/{1}" {2}'.format(BASE_FOLDER, jdk, priority))
priority+=1
print("")
print("Setting default to java 8")
print("")
subprocess.call(['update-alternatives', '--set', 'java', '{0}/{1}/bin/java'.format(BASE_FOLDER, DEFAULT_JDK_FOLDER)])
subprocess.call(['update-alternatives', '--set', 'javac', '{0}/{1}/bin/javac'.format(BASE_FOLDER, DEFAULT_JDK_FOLDER)])
subprocess.call(['update-alternatives', '--set', 'javaws', '{0}/{1}/bin/javaws'.format(BASE_FOLDER, DEFAULT_JDK_FOLDER)])
subprocess.call(['update-alternatives', '--set', 'jconsole', '{0}/{1}/bin/jconsole'.format(BASE_FOLDER, DEFAULT_JDK_FOLDER)])
subprocess.call(['update-alternatives', '--set', 'keytool', '{0}/{1}/bin/keytool'.format(BASE_FOLDER, DEFAULT_JDK_FOLDER)])
subprocess.call(['update-alternatives', '--set', 'java_home', '{0}/{1}'.format(BASE_FOLDER, DEFAULT_JDK_FOLDER)])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment