How To Install Apache Maven on Rocky Linux 9

This guide intends to teach you to Install and Use Apache Maven on Rocky Linux 9.

Maven is a powerful project management tool that is based on POM (project object model). It is used for project build, dependency, and documentation. It simplifies the build process like ANT. But it is too much more advanced than ANT.

In short terms we can tell maven is a tool that can be used for building and managing any Java-based project. maven makes the day-to-day work of Java developers easier and generally helps with the comprehension of any Java-based project.

Steps To Install Apache Maven on Rocky Linux 9

To complete this guide, you must log in to your server as a non-root user with sudo privileges. To do this, you can follow our guide on Initial Server Setup with Rocky Linux 9.

Install OpenJDK on Rocky Linux 9

As you know Maven is written in Java, so you need to have Java installed on your server.

First, update your local package index with the following command:

sudo dnf update -y

Maven 3.+ requires JDK 1.7 or above. Use the command below to install the OpenJDK package on Rocky Linux 9:

sudo dnf install java-1.8.0-openjdk -y

At this point, Verify your Java installation by checking its version:

java -version
Output
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)

Set up Apache Maven on Rocky Linux 9

In this guide, we will download and install the latest Maven. So follow the steps below to complete your installation.

Download Maven

You need to visit the Apache Maven downloads page and copy the link address of the binaries package. Next, use the wget command to download it on your server in the tmp directory:

sudo wget https://dlcdn.apache.org/maven/maven-3/3.8.7/binaries/apache-maven-3.8.7-bin.tar.gz -P /tmp

Next, you need to extract your downloaded file in the opt directory:

sudo tar xf /tmp/apache-maven-3.8.7-bin.tar.gz -C /opt

Now you should create a symbolic link that will point to the Maven installation directory on Rocky Linux 9:

sudo ln -s /opt/apache-maven-3.8.7 /opt/maven

Note: To upgrade your Maven installation, simply unpack the newer version and change the symlink to point to it.

Set up Maven Environment Variables

At this point, you should set up the Maven environment variables on Rocky Linux 9. To do this, use your favorite text editor to create a new file inside the /etc/profile.d directory:

sudo vi /etc/profile.d/maven.sh

Add the following content to the file:

export JAVA_HOME=/usr/lib/jvm/jre-openjdk
export M2_HOME=/opt/maven
export MAVEN_HOME=/opt/maven
export PATH=${M2_HOME}/bin:${PATH}

When you are done, save and close the file.

Set Correct Permissions For Maven File

Here you need to make your file executable with the following command:

sudo chmod +x /etc/profile.d/maven.sh

Load Maven Variables

At this point, you need to load the Maven environment variables on Rocky Linux 9 with the following command:

source /etc/profile.d/maven.sh

At this point, you can verify your Maven installation by checking its version:

mvn -version
Output
Apache Maven 3.8.7 (b89d5959fcde851dcb1c8946a785a163f14e1e29)
Maven home: /opt/maven
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.el9_1.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.14.0-70.22.1.el9_0.x86_64", arch: "amd64", family: "unix"

That’s it. The latest version of Apache Maven is now installed on your Rocky Linux system.

Test Maven Installation on Rocky Linux 9

At this point, we want to show you how to create a test program “Hello World” with your Maven. First, you need to create the project folder structure via the Maven command line:

mvn archetype:generate -DgroupId=com.jcg.maven -DartifactId=MavenHelloWorldProject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

When it is completed, you will get the following output:

Output
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  21.050 s
[INFO] Finished at: 2023-01-07T03:12:53-05:00
[INFO] ------------------------------------------------------------------------

To see the Maven project folders created go to the directory path from your output.

Switch to the directory, and run the command below:

ls -l

You will get something similar to this:

Output
total 8
-rw-r--r-- 1 root root  670 Jan  7 03:12 pom.xml
drwxr-xr-x 4 root root 4096 Jan  7 03:12 src

The output shows that two different directory structures are generated along with maven’s default pom.xml.

The source code of the application goes to src/main/java while our unit-test code goes to src/test/java.

# cd src
# ls-l
Output
total 8
drwxr-xr-x 3 root root 4096 Jan  7 03:12 main
drwxr-xr-x 3 root root 4096 Jan  7 03:12 test

Let’s cat the default pom.xml file to see what it looks like.

sudo cat pom.xml
Output
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jcg.maven</groupId>
  <artifactId>MavenHelloWorldProject</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>MavenHelloWorldProject</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

From the output, the dependency section defines the libraries that the project will rely on. This is where the jar files go in.

Compile the Project with Maven

At this point, we will use Maven to compile the project in order to generate a JAR file on Rocky Linux 9. In our pom.xml file above the packaging element defined should be the packaging output. Since JAR is our packaging element as shown <packaging>jar</packaging> our output should be a JAR file.

Run the command below on the directory where your project files exist to compile your project:

mvn clean install

When it is completed, check the project directory \target folder to see the jar file created:

ls -l

Conclusion

At this point, you have learned to Install and Use Apache Maven on Rocky Linux 9 and test your Maven installation.

Hope you enjoy it. You may be like these articles on the Orcacore website:

Set up Laravel on Rocky Linux 9

Install and Configure WireGuard on Rocky Linux 9

Newsletter Updates

Enter your email address below and subscribe to our newsletter

Stay informed and not overwhelmed, subscribe now!