Last active
January 18, 2023 20:18
-
-
Save nickboldt/26abebff75e2e4f5d2bf105d8da07605 to your computer and use it in GitHub Desktop.
sdkman in UDI rhel8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sdkman in udi-rhel8 (including "exotic" architectures like s390x and ppc64le) | |
* `dnf install -q -y zip curl` | |
* install scripts and configs into ~/.sdkman/ | |
curl -s "https://get.sdkman.io?rcupdate=false" | bash | |
or | |
curl -s "https://get.sdkman.io" | bash | |
* update ~/.bashrc, zshrc, etc. to add 3 lines at the end / or add ito entrypoint.sh: | |
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! | |
export SDKMAN_DIR="${HOME}/.sdkman" | |
[[ -s "${HOME}/.sdkman/bin/sdkman-init.sh" ]] && source "${HOME}/.sdkman/bin/sdkman-init.sh" | |
* set up local install symlinks | |
sdk rm java 1.8 | |
sdk rm java 8 | |
sdk rm java 11 | |
sdk install java 1.8 /usr/lib/jvm/jre-1.8.0 | |
sdk install java 8 /usr/lib/jvm/jre-1.8.0 | |
sdk install java 11 /usr/lib/jvm/java-11 | |
* verify with: | |
sdk install maven | |
Setting maven 3.8.7 as default. | |
cd $HOME/.sdkman/candidates/maven/current | |
sdk use java 8; ./bin/mvn --version | |
sdk use java 11; ./bin/mvn --version | |
Apache Maven 3.8.7 (b89d5959fcde851dcb1c8946a785a163f14e1e29) | |
Maven home: /home/hudson/.sdkman/candidates/maven/current | |
Java version: 1.8.0_352, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el8_7.ppc64le/jre | |
Apache Maven 3.8.7 (b89d5959fcde851dcb1c8946a785a163f14e1e29) | |
Maven home: /home/hudson/.sdkman/candidates/maven/current | |
Java version: 11.0.17, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-11-openjdk-11.0.17.0.8-2.el8_6.ppc64le | |
* note that these will still point to RPM defaults: | |
mvn --version | |
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63) | |
Maven home: /opt/apache-maven-3.8.6 | |
sdk use java 8; java -version; which java | |
openjdk version "11.0.17" 2022-10-18 LTS | |
OpenJDK Runtime Environment (Red_Hat-11.0.17.0.8-2.el8_6) (build 11.0.17+8-LTS) | |
OpenJDK 64-Bit Server VM (Red_Hat-11.0.17.0.8-2.el8_6) (build 11.0.17+8-LTS, mixed mode, sharing) | |
/usr/bin/java | |
* make sure to remove any alternative symlinks so that PATH resolve to ~/.sdkman/candidates/java | |
/usr/bin/java -> /etc/alternatives/java | |
/usr/bin/javac -> /etc/alternatives/javac | |
--------------------- | |
$➔ sdk use java 17 | |
Setting java version 17 as default. | |
Using java version 17 in this shell. | |
[13:35:56] nboldt@t490s-f36:~/.sdkman/candidates/java | |
$➔ mvn -v | |
Apache Maven 3.8.7 (b89d5959fcde851dcb1c8946a785a163f14e1e29) | |
Maven home: /home/nboldt/.sdkman/candidates/maven/current | |
Java version: 11.0.17, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-11-openjdk-11.0.17.0.8-3.fc36.x86_64 | |
Default locale: en_CA, platform encoding: UTF-8 | |
OS name: "linux", version: "6.0.18-200.fc36.x86_64", arch: "amd64", family: "unix" | |
^^^^ so that's a bug... not sure how to fix... | |
* maybe uninstall alternatives or deconfigure all the java related alternative entries? | |
And if installing from zip or GH sources: | |
To fetch from zip: | |
SDKMAN_VERSION=5.16.0 | |
sdkman_zip_file=sdkman.exotic.zip | |
curl -ssLk https://api.sdkman.io/2/broker/download/sdkman/install/${SDKMAN_VERSION}/exotic -o ${sdkman_zip_file} | |
unzip -qo "$sdkman_zip_file" -d "$sdkman_tmp_folder" | |
cp -rf "${sdkman_tmp_folder}"/sdkman-*/* "$SDKMAN_DIR" | |
To fetching from raw sources: | |
0. clone project from the SDKMAN_VERSION=5.16.0 tag | |
1. SDKMAN_CANDIDATES_API=https://api.sdkman.io/2 | |
1. copy src/main/bash/sdkman-init.sh to bin/sdkman-init.sh, then fix these two lines | |
export SDKMAN_VERSION="@SDKMAN_VERSION@" | |
export SDKMAN_CANDIDATES_API="@SDKMAN_CANDIDATES_API@" | |
2. copy src/main/bash to src/ | |
3. copy contrib/ to contrib/ | |
4. more stuff created by the init.sh script? | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment