Learn how to install Apache Maven on CentOS 7 with this comprehensive guide. Follow step-by-step instructions to set up Maven for your Java projects efficiently. #centlinux #linux #devops
Apache Maven is a build automation and project management tool. Maven primarily build for Java projects, but due to its plugin based architecture, it can be used for C#, Ruby, C, C++, etc projects. Apache Maven projects are build around Project Object Model (POM) and uses an XML file (pom.xml) to describe its software project configurations.
Apache Maven is a widely used build automation and project management tool designed to simplify the process of building and managing Java-based software projects. Developed by the Apache Software Foundation, Maven provides a standard way to structure projects, manage dependencies, and automate the build process.
Key features of Apache Maven include:
Developers use Maven by creating a POM file for their projects, specifying dependencies, build settings, and other project information. Maven then automates the build process, fetching dependencies, compiling code, running tests, and creating distributable artifacts.
Overall, Apache Maven is a powerful and widely adopted tool in the Java development ecosystem, contributing to the efficiency, consistency, and repeatability of software builds and project management.
Recommended Online Training: Learning Apache Maven
Apache Maven is a popular build automation tool, but there are several alternatives available that you might consider depending on your project’s needs. Here are some notable alternatives:
Choosing the right tool depends on your specific project requirements, language preferences, and the complexity of your build processes. Each of these tools has its strengths and can be the best fit for different scenarios.
Read Also: How to install Apache Maven on Rocky Linux 9
We have a CentOS 7 virtual machine with following specification:
Connect to appserver-01.example.com using ssh.
Apache Maven 3.6 requires Java Development Kit (JDK) 1.7 or above.
We have JDK 1.8 available in CentOS yum repository. Therefore, install it using yum command.
# yum install -y java-1.8.0-openjdk-devel
If you already have another version of Java installed, then use alternatives command to set active java command.
# alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- + 1 /usr/java/jdk-11.0.1/bin/java * 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java) Enter to keep the current selection[+], or type selection number: 2
Repeat the above step for javac and jar commands.
Set JAVA_HOME environment variable.
# echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64" >> /etc/profile
Check version of active java command.
# java -version 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)
OpenJDK 1.8 has been installed and configured on our CentOS 7 server.
Download Apache Maven 3.6 from https://maven.apache.org/. It is the latest version at the time of this write-up.
# wget https://www-eu.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz --2018-12-25 18:26:42-- https://www-eu.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz Resolving www-eu.apache.org (www-eu.apache.org)... 95.216.24.32, 2a01:4f9:2a:185f::2 Connecting to www-eu.apache.org (www-eu.apache.org)|95.216.24.32|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 9063587 (8.6M) [application/x-gzip] Saving to: âapache-maven-3.6.0-bin.tar.gzâ 100%[======================================>] 9,063,587 271KB/s in 28s 2018-12-25 18:27:11 (317 KB/s) - âapache-maven-3.6.0-bin.tar.gzâ saved [9063587/9063587]
Extract Apache Maven tarball to /usr/lib directory.
# tar xf apache-maven-3.6.0-bin.tar.gz -C /usr/lib/
Set Apache Maven environment variables.
# vi /etc/profile
Append following lines at the end of this file.
M2_HOME="/usr/lib/apache-maven-3.6.0" export M2_HOME M2="$M2_HOME/bin" MAVEN_OPTS="-Xms256m -Xmx512m" export M2 MAVEN_OPTS PATH=$M2:$PATH export PATH
Apply these changes to current user session, execute /etc/profile.
# . /etc/profile
Verify the environment variables.
# env | grep M2 M2=/usr/lib/apache-maven-3.6.0/bin M2_HOME=/usr/lib/apache-maven-3.6.0
Verify Apache Maven installation by executing mvn command.
# mvn -version Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T23:41:47+05:00) Maven home: /usr/lib/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-1.el7_6.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"
Apache Maven has been successfully installed on our CentOS 7 server.
If you are new to Linux and facing difficulty in working at Linux Bash prompt. We recommend that, you should read The Linux Command Line, 2nd Edition: A Complete Introduction by William Shotts.
Installing Apache Maven on CentOS 7 is a straightforward process that enhances your ability to manage Java projects effectively. By following this guide, you should have a fully functional Maven setup ready to use.
If you need further assistance or professional support with your Maven installation or other technical tasks, feel free to check out my services on Fiverr. I offer expert solutions to meet your development needs.
Hire me on Fiverr for professional help and quality service.
Learn how to change Apache document root in Linux by following this step-by-step guide. Adjust…
Discover how to change Apache port in Linux easily. Follow our simple guide to modify…
Learn how to create a virtual host in Apache Server with this comprehensive guide. Set…
Discover 10 practical tasks for the RHCSA exam with step-by-step solutions. Boost your Linux skills…
Discover the ultimate Fail2ban configuration guide. Learn how to set up, customize, and optimize Fail2ban…
Explore the ultimate guide to VPS servers and learn everything about Virtual Private Servers, including…
This website uses cookies.