Installing Java 8 and Maven

We will need to compile our Spring Boot app as part of this workshop. To do so, we have to upgrade our version of Java from the default Java 7 package that ships with Cloud9 to Java 8. We will also need to install Apache Maven.

Install Java 8

sudo yum install -y java-1.8.0-openjdk-devel

The result should look like what’s below:

Loaded plugins: priorities, update-motd, upgrade-helper
1060 packages excluded due to repository priority protections
Resolving Dependencies

Install  1 Package (+3 Dependent packages)

Installed:
  java-1.8.0-openjdk-devel.x86_64 1:1.8.0.191.b12-0.42.amzn1

Dependency Installed:
  java-1.8.0-openjdk.x86_64 1:1.8.0.191.b12-0.42.amzn1
  java-1.8.0-openjdk-headless.x86_64 1:1.8.0.191.b12-0.42.amzn1
  lksctp-tools.x86_64 0:1.0.10-7.7.amzn1
  
Complete!

Configure Cloud9 to use Java 8

sudo alternatives --config java

The result should look like what’s below:

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

Enter to keep the current selection[+], or type selection number: 2

Remove Java 7

sudo yum remove -y java-1.7.0-openjdk-devel

The result should look like what’s below:

Loaded plugins: priorities, update-motd, upgrade-helper
Resolving Dependencies

Remove  1 Package

Removed:
  java-1.7.0-openjdk-devel.x86_64 1:1.7.0.201-2.6.16.0.78.amzn1
Complete!

Verify you are running Java 8

java -version

The result should look like what’s below:

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Let’s make a bin folder where the binaries will be stored and change our directory to the new location.

mkdir ~/bin
cd ~/bin

Download Maven from the Apache Maven Project and add to our $PATH

wget -qO- http://apache.mirrors.pair.com/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz | tar xzv -C ~/bin
echo "export PATH=~/bin/apache-maven-3.6.0/bin:${PATH}" >> ~/.bashrc

Confirm Maven is installed

mvn -v

The result should look like what’s below:

Apache Maven 3.6.0
Maven home: /home/ec2-user/bin/apache-maven-3.6.0
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.42.amzn1.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.14.97-74.72.amzn1.x86_64", arch: "amd64", family: "unix"