Get a download link from the GraalVM CE Release Site.
Run the graalvm-install.bash script as sudo/root and pass the download link as a parameter.
After the script has run, use update-java-alternatives to select the JDK.
Get a download link from the GraalVM CE Release Site.
Run the graalvm-install.bash script as sudo/root and pass the download link as a parameter.
After the script has run, use update-java-alternatives to select the JDK.
| name=graalvm-ce-java | |
| priority=1119 | |
| section=main | |
| hl rmid /usr/lib/jvm/graalvm-ce-java/bin/rmid | |
| hl java /usr/lib/jvm/graalvm-ce-java/bin/java | |
| hl keytool /usr/lib/jvm/graalvm-ce-java/bin/keytool | |
| hl jjs /usr/lib/jvm/graalvm-ce-java/bin/jjs | |
| hl pack200 /usr/lib/jvm/graalvm-ce-java/bin/pack200 | |
| hl rmiregistry /usr/lib/jvm/graalvm-ce-java/bin/rmiregistry | |
| hl unpack200 /usr/lib/jvm/graalvm-ce-java/bin/unpack200 | |
| jdkhl jar /usr/lib/jvm/graalvm-ce-java/bin/jar | |
| jdkhl jarsigner /usr/lib/jvm/graalvm-ce-java/bin/jarsigner | |
| jdkhl javac /usr/lib/jvm/graalvm-ce-java/bin/javac | |
| jdkhl javadoc /usr/lib/jvm/graalvm-ce-java/bin/javadoc | |
| jdkhl javap /usr/lib/jvm/graalvm-ce-java/bin/javap | |
| jdkhl jcmd /usr/lib/jvm/graalvm-ce-java/bin/jcmd | |
| jdkhl jdb /usr/lib/jvm/graalvm-ce-java/bin/jdb | |
| jdkhl jdeprscan /usr/lib/jvm/graalvm-ce-java/bin/jdeprscan | |
| jdkhl jdeps /usr/lib/jvm/graalvm-ce-java/bin/jdeps | |
| jdkhl jimage /usr/lib/jvm/graalvm-ce-java/bin/jimage | |
| jdkhl jinfo /usr/lib/jvm/graalvm-ce-java/bin/jinfo | |
| jdkhl jlink /usr/lib/jvm/graalvm-ce-java/bin/jlink | |
| jdkhl jmap /usr/lib/jvm/graalvm-ce-java/bin/jmap | |
| jdkhl jmod /usr/lib/jvm/graalvm-ce-java/bin/jmod | |
| jdkhl jps /usr/lib/jvm/graalvm-ce-java/bin/jps | |
| jdkhl jrunscript /usr/lib/jvm/graalvm-ce-java/bin/jrunscript | |
| jdkhl jshell /usr/lib/jvm/graalvm-ce-java/bin/jshell | |
| jdkhl jstack /usr/lib/jvm/graalvm-ce-java/bin/jstack | |
| jdkhl jstat /usr/lib/jvm/graalvm-ce-java/bin/jstat | |
| jdkhl jstatd /usr/lib/jvm/graalvm-ce-java/bin/jstatd | |
| jdkhl rmic /usr/lib/jvm/graalvm-ce-java/bin/rmic | |
| jdkhl serialver /usr/lib/jvm/graalvm-ce-java/bin/serialver | |
| jdkhl jhsdb /usr/lib/jvm/graalvm-ce-java/bin/jhsdb | |
| jdk jconsole /usr/lib/jvm/graalvm-ce-java/bin/jconsole | |
| jdk jfr /usr/lib/jvm/graalvm-ce-java/bin/jfr | |
| jdk jvisualvm /usr/lib/jvm/graalvm-ce-java/bin/jvisualvm |
| #!/bin/bash | |
| # Purpose: Install GraalVM CE on Linux | |
| # Author: Florian Hotze | |
| # License: MIT | |
| if [ "${EUID:-$(id -u)}" -ne 0 ]; then echo "Please run as root or with sudo!" && exit; fi | |
| DOWNLOAD_LINK=$1 # Example: https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.0/graalvm-ce-java11-linux-amd64-22.> | |
| GRAALVM_ARCHIVE="$(pwd)/$(basename "${DOWNLOAD_LINK}")" | |
| echo "Downloading GraalVM..." | |
| wget "${DOWNLOAD_LINK}" 2>&1 | grep ERROR | |
| echo "Extracting GraalVM..." | |
| GRAALVM_EXTRACTED=$(tar -tf "${GRAALVM_ARCHIVE}" | head -1 | sed -e 's/\/.*//') | |
| tar -xzf "${GRAALVM_ARCHIVE}" | |
| echo "Moving GraalVM to /usr/lib/jvm..." | |
| mv "$(pwd)/${GRAALVM_EXTRACTED}" /usr/lib/jvm/ | |
| echo "Adding GraalVM to alternatives..." | |
| GRAALVM_PATH="/usr/lib/jvm/${GRAALVM_EXTRACTED}" | |
| add_alternative () { | |
| update-alternatives --install "/usr/bin/${1}" "${1}" "${GRAALVM_PATH}/bin/${1}" 1119 | |
| } | |
| # Add alternatives for stuff provided by the OpenJDK | |
| for val in java jjs keytool pack200 rmid rmiregistry unpack200; do | |
| add_alternative "${val}" | |
| done | |
| # Add alternatives for some GraalVM stuff | |
| for val in gu javac jconsole javadoc jshell; do | |
| add_alternative "${val}" | |
| done | |
| echo "Installing config file for update-java-alternatives..." | |
| wget -P /usr/lib/jvm/ https://gist.githubusercontent.com/florian-h05/bc5367263733db2c73e843fcd4033631/raw/cedd042455ac1c5077994dada2617b19d962c95d/graalvm-ce-java.jinfo 2>&1 | grep ERROR | |
| sed -i 's/graalvm-ce-java/'"${GRAALVM_EXTRACTED}"'/g' /usr/lib/jvm/graalvm-ce-java.jinfo | |
| mv /usr/lib/jvm/graalvm-ce-java.jinfo "/usr/lib/jvm/.${GRAALVM_EXTRACTED}.jinfo" | |
| echo "Installing VisualVM..." | |
| gu install visualvm > /dev/null | |
| add_alternatives jvisualvm | |
| echo "Use 'update-java-alternatives' (Debian) or 'alternatives --config java' (Fedora) to change the JDK" |