Java - jrwhetse/jrwhetse.github.io GitHub Wiki

Java Installation

Overview

Java is an object-oriented programming language that produces software for multiple platforms. It was originally developed by Sun Microsystems, but was consumed by the almighty Oracle Corporation. There are currently 2 main distributions that are in use: Oracle Java and OpenJDK Java. We will be using OpenJDK, the Open Source created version of Java, for this document. FYI: This happens to be my favorite programming language and I am a certified Java 1.2 developer (2001).

References

Pre-Requisites

None

Installation

The information below demonstrates both Windows and Linux installations of Java.

Note: Newer versions of OpenJDK come prepackaged with Java Cryptography Extensions (JCE) and no longer required as a separate installation.

Windows

See Chocolatey Installation Document on how to Install the Chocolatey Windows Package Manager. Run PowerShell as Administrator and execute the following commands

#############################################
# install
#############################################
choco install -y openjdk8 --version=8.312.07

#############################################
# output
#############################################
Chocolatey v0.11.3
Installing the following packages:
openjdk8
By installing, you accept licenses for the packages.

openjdk8 v8.312.07 [Approved]
openjdk8 package files install completed. Performing other installation steps.
Downloading openjdk8 64 bit
  from 'https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u312-b07/OpenJDK8U-jdk_x64_windows_8u312b07.zip'
Progress: 100% - Completed download of C:\Users\vhaisbwhetsjo0\AppData\Local\Temp\chocolatey\openjdk8\8.312.07\OpenJDK8U-jdk_x64_windows_8u312b07.zip (100.28 MB).
Download of OpenJDK8U-jdk_x64_windows_8u312b07.zip (100.28 MB) completed.
Hashes match.
Extracting C:\Users\vhaisbwhetsjo0\AppData\Local\Temp\chocolatey\openjdk8\8.312.07\OpenJDK8U-jdk_x64_windows_8u312b07.zip to C:\Program Files\OpenJDK...
C:\Program Files\OpenJDK
PATH environment variable does not have C:\Program Files\OpenJDK\openjdk-8u312-b07\bin in it. Adding...
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).
 The install of openjdk8 was successful.
  Software installed to 'C:\Program Files\OpenJDK'

Chocolatey installed 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

###############################################
# verify
###############################################
# start a new powershell terminal
java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

Linux

Option 1 - Tarball

##################################
# download, extract and install
##################################
sudo rm -rf /tmp/jdk-8u231
sudo wget https://nexus.aws.myhealth.va.gov/repository/tools/java/jdk-8u231-linux-x64.tar.gz -P /tmp
sudo mkdir -p /opt/java
sudo tar -xvzf /tmp/jdk-8u231-linux-x64.tar.gz --strip-components=1 -C /opt/java

##################################
# settings - local
##################################
sudo cat <<EOT >>> ~/.bash_profile
# java
export JAVA_HOME=/opt/java
export PATH=\$PATH:JAVA_HOME/bin
export CLASSPATH=\$JAVA_HOME/lib
EOT
source ~/.bash_profile.sh

##################################
# settings - global
##################################
sudo tee /etc/profile.d/java.sh > /dev/null <<EOF
# java
export JAVA_HOME=/opt/java
export PATH=\$PATH:JAVA_HOME/bin
export CLASSPATH=\$JAVA_HOME/lib
EOF
source /etc/profile.d/java.sh

##################################
# verify
##################################
java -version

java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

Option 2 - Package Manager

######################################
# install
######################################
sudo yum install -y java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5

##################################
# settings - local
##################################
sudo cat <<EOT >>> ~/.bash_profile
# java
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64
export PATH=\$PATH:JAVA_HOME/bin
export CLASSPATH=\$JAVA_HOME/lib
EOT
source ~/.bash_profile.sh

##################################
# settings - global
##################################
sudo tee /etc/profile.d/java.sh > /dev/null <<EOF
# java
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64
export PATH=\$PATH:JAVA_HOME/bin
export CLASSPATH=\$JAVA_HOME/lib
EOF
source /etc/profile.d/java.sh

######################################
# verify
######################################
java -version

java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

Alternatives

The default Java version can be configured if multiple JVMs exist on the Operating System by using Alternatives.

######################################
# alternatives
######################################
alternatives --config java 
⚠️ **GitHub.com Fallback** ⚠️