Reference Server
In this tutorial we will learn to install Apache Maven which is a software project management and comprehension tool on CentOS.
It is assumed that you have wget
installed.
Use the following command in the terminal to install wget.
yum install -y wget
And it is also assumed that you have zip
and unzip
installed.
Use the following command in the terminal to install zip and unzip.
yum install -y zip unzip
Use sudo
if you don't have the permissions.
Open terminal and login to your server using ssh. Now cd
to a directory where you want to download the files.
Lets say we have a Downloads
directory and we want to download Apache Maven in that directory.
Type the following in the terminal to download Apache Maven.
wget http://redrockdigimark.com/apachemirror/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip
Output
[~]# cd Downloads
[Downloads]# wget http://redrockdigimark.com/apachemirror/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip
--2016-12-12 02:52:31-- http://redrockdigimark.com/apachemirror/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip
Resolving redrockdigimark.com (redrockdigimark.com)... 119.18.61.94
Connecting to redrockdigimark.com (redrockdigimark.com)|119.18.61.94|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8617253 (8.2M) [application/zip]
Saving to: ‘apache-maven-3.3.9-bin.zip’
100%[==================================================================================================>] 8,617,253 3.11MB/s in 2.6s
2016-12-12 02:52:34 (3.11 MB/s) - ‘apache-maven-3.3.9-bin.zip’ saved [8617253/8617253]
[Downloads]#
Now we can ls
to check the downloaded zip file.
[Downloads]# ls -la
total 1232052
drwxr-xr-x 2 root root 4096 Apr 10 02:52 .
dr-xr-x---. 6 root root 4096 Apr 10 06:00 ..
-rw-r--r-- 1 root root 8617253 Nov 18 2015 apache-maven-3.3.9-bin.zip
[Downloads]#
Use the following command in the terminal to unzip the downloaded file.
unzip apache-maven-3.3.9-bin.zip
Output
[Downloads]# unzip apache-maven-3.3.9-bin.zip
Archive: apache-maven-3.3.9-bin.zip
creating: apache-maven-3.3.9/
creating: apache-maven-3.3.9/boot/
inflating: apache-maven-3.3.9/boot/plexus-classworlds-2.5.2.jar
creating: apache-maven-3.3.9/lib/
inflating: apache-maven-3.3.9/lib/maven-embedder-3.3.9.jar
inflating: apache-maven-3.3.9/lib/maven-settings-3.3.9.jar
inflating: apache-maven-3.3.9/lib/plexus-utils-3.0.22.jar
inflating: apache-maven-3.3.9/lib/maven-core-3.3.9.jar
inflating: apache-maven-3.3.9/lib/maven-model-3.3.9.jar
inflating: apache-maven-3.3.9/lib/commons-lang3-3.4.jar
inflating: apache-maven-3.3.9/lib/maven-settings-builder-3.3.9.jar
inflating: apache-maven-3.3.9/lib/maven-builder-support-3.3.9.jar
inflating: apache-maven-3.3.9/lib/plexus-interpolation-1.21.jar
inflating: apache-maven-3.3.9/lib/plexus-component-annotations-1.6.jar
inflating: apache-maven-3.3.9/lib/plexus-sec-dispatcher-1.3.jar
inflating: apache-maven-3.3.9/lib/plexus-cipher-1.7.jar
inflating: apache-maven-3.3.9/lib/maven-repository-metadata-3.3.9.jar
inflating: apache-maven-3.3.9/lib/maven-artifact-3.3.9.jar
inflating: apache-maven-3.3.9/lib/maven-plugin-api-3.3.9.jar
inflating: apache-maven-3.3.9/lib/org.eclipse.sisu.plexus-0.3.2.jar
inflating: apache-maven-3.3.9/lib/cdi-api-1.0.jar
inflating: apache-maven-3.3.9/lib/jsr250-api-1.0.jar
inflating: apache-maven-3.3.9/lib/javax.inject-1.jar
inflating: apache-maven-3.3.9/lib/org.eclipse.sisu.inject-0.3.2.jar
inflating: apache-maven-3.3.9/lib/maven-model-builder-3.3.9.jar
inflating: apache-maven-3.3.9/lib/guava-18.0.jar
inflating: apache-maven-3.3.9/lib/maven-aether-provider-3.3.9.jar
inflating: apache-maven-3.3.9/lib/aether-api-1.0.2.v20150114.jar
inflating: apache-maven-3.3.9/lib/aether-spi-1.0.2.v20150114.jar
inflating: apache-maven-3.3.9/lib/aether-util-1.0.2.v20150114.jar
inflating: apache-maven-3.3.9/lib/aether-impl-1.0.2.v20150114.jar
inflating: apache-maven-3.3.9/lib/guice-4.0-no_aop.jar
inflating: apache-maven-3.3.9/lib/aopalliance-1.0.jar
inflating: apache-maven-3.3.9/lib/maven-compat-3.3.9.jar
inflating: apache-maven-3.3.9/lib/wagon-provider-api-2.10.jar
inflating: apache-maven-3.3.9/lib/slf4j-api-1.7.5.jar
inflating: apache-maven-3.3.9/lib/commons-cli-1.2.jar
inflating: apache-maven-3.3.9/lib/wagon-http-2.10-shaded.jar
inflating: apache-maven-3.3.9/lib/wagon-http-shared-2.10.jar
inflating: apache-maven-3.3.9/lib/jsoup-1.7.2.jar
inflating: apache-maven-3.3.9/lib/commons-lang-2.6.jar
inflating: apache-maven-3.3.9/lib/commons-io-2.2.jar
inflating: apache-maven-3.3.9/lib/wagon-file-2.10.jar
inflating: apache-maven-3.3.9/lib/aether-connector-basic-1.0.2.v20150114.jar
inflating: apache-maven-3.3.9/lib/aether-transport-wagon-1.0.2.v20150114.jar
inflating: apache-maven-3.3.9/lib/slf4j-simple-1.7.5.jar
inflating: apache-maven-3.3.9/README.txt
inflating: apache-maven-3.3.9/LICENSE
inflating: apache-maven-3.3.9/NOTICE
inflating: apache-maven-3.3.9/lib/aether-api.license
inflating: apache-maven-3.3.9/lib/aether-connector-basic.license
inflating: apache-maven-3.3.9/lib/aether-impl.license
inflating: apache-maven-3.3.9/lib/aether-spi.license
inflating: apache-maven-3.3.9/lib/aether-transport-wagon.license
inflating: apache-maven-3.3.9/lib/aether-util.license
inflating: apache-maven-3.3.9/lib/cdi-api.license
inflating: apache-maven-3.3.9/lib/commons-lang3.license
inflating: apache-maven-3.3.9/lib/jsoup.license
inflating: apache-maven-3.3.9/lib/jsr250-api.license
inflating: apache-maven-3.3.9/lib/maven-aether-provider.license
inflating: apache-maven-3.3.9/lib/maven-artifact.license
inflating: apache-maven-3.3.9/lib/maven-builder-support.license
inflating: apache-maven-3.3.9/lib/maven-compat.license
inflating: apache-maven-3.3.9/lib/maven-core.license
inflating: apache-maven-3.3.9/lib/maven-embedder.license
inflating: apache-maven-3.3.9/lib/maven-model-builder.license
inflating: apache-maven-3.3.9/lib/maven-model.license
inflating: apache-maven-3.3.9/lib/maven-plugin-api.license
inflating: apache-maven-3.3.9/lib/maven-repository-metadata.license
inflating: apache-maven-3.3.9/lib/maven-settings-builder.license
inflating: apache-maven-3.3.9/lib/maven-settings.license
inflating: apache-maven-3.3.9/lib/org.eclipse.sisu.inject.license
inflating: apache-maven-3.3.9/lib/org.eclipse.sisu.plexus.license
inflating: apache-maven-3.3.9/lib/plexus-cipher.license
inflating: apache-maven-3.3.9/lib/plexus-sec-dispatcher.license
inflating: apache-maven-3.3.9/lib/slf4j-api.license
inflating: apache-maven-3.3.9/lib/slf4j-simple.license
inflating: apache-maven-3.3.9/lib/wagon-file.license
inflating: apache-maven-3.3.9/lib/wagon-http-shared.license
inflating: apache-maven-3.3.9/lib/wagon-http.license
inflating: apache-maven-3.3.9/lib/wagon-provider-api.license
creating: apache-maven-3.3.9/bin/
inflating: apache-maven-3.3.9/bin/m2.conf
inflating: apache-maven-3.3.9/bin/mvn.cmd
inflating: apache-maven-3.3.9/bin/mvnDebug.cmd
inflating: apache-maven-3.3.9/bin/mvn
inflating: apache-maven-3.3.9/bin/mvnDebug
inflating: apache-maven-3.3.9/bin/mvnyjp
creating: apache-maven-3.3.9/conf/
creating: apache-maven-3.3.9/conf/logging/
inflating: apache-maven-3.3.9/conf/logging/simplelogger.properties
inflating: apache-maven-3.3.9/conf/settings.xml
inflating: apache-maven-3.3.9/conf/toolchains.xml
creating: apache-maven-3.3.9/lib/ext/
inflating: apache-maven-3.3.9/lib/ext/README.txt
We can now ls
to check the unzipped directory.
[Downloads]# ls -la
total 1232056
drwxr-xr-x 3 root root 4096 Apr 10 02:53 .
dr-xr-x---. 6 root root 4096 Apr 10 06:00 ..
drwxr-xr-x 6 root root 4096 Nov 10 2015 apache-maven-3.3.9
-rw-r--r-- 1 root root 8617253 Nov 18 2015 apache-maven-3.3.9-bin.zip
Now we will move the unzipped Maven directory to opt directory.
Use the mv
command in the terminal to move the directory.
[Downloads]# mv apache-maven-3.3.9 /opt/
[Downloads]# cd /opt
[opt]# ls -la
total 20
drwxr-xr-x. 5 root root 4096 Apr 10 02:53 .
drwxr-xr-x 18 root root 4096 Apr 10 06:05 ..
drwxr-xr-x 6 root root 4096 Nov 10 2015 apache-maven-3.3.9
[opt]#
Time for us to edit the .bash_profile file.
[opt]# cd
[~]# ls -la
total 96
dr-xr-x---. 8 root root 4096 Dec 31 20:15 .
drwxr-xr-x 18 root root 4096 Dec 29 06:15 ..
-rw-------. 1 root root 11146 Dec 31 20:39 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r-- 1 root root 429 Dec 31 10:38 .bash_profile
Open the .bash_profile file using vi
or vim
.
[~]# vi .bash_profile
And now add the following lines. Press i key to switch into INSERT mode.
export APACHE_MAVEN=/opt/apache-maven-3.3.9
PATH=$HOME/bin:$APACHE_MAVEN/bin:$PATH
export PATH
Press Esc key to come out of the INSERT mode. Now type :wq to save the changes and exit.
Now, load the changes using source
command.
[~]# source .bash_profile
Now we can check the Apache Maven version by typing the following command in the terminal.
[~]# mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /opt/apache-maven-3.3.9
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0_79/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.9.7-x86_64-linode80", arch: "amd64", family: "unix"
Congratulation! You have successfully installed Apache Maven on your CentOS server. Have fun :-)
ADVERTISEMENT