maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。

这是maven系列第2篇。

本文主要内容

  1. linux中安装maven

  2. window中安装maven

  3. mvn命令运行的原理

  4. maven配置设置

本篇环境

  1. jdk1.8

  2. maven3.6.2

我们要写java代码,需要安装jdk,那我们要使用maven,也类似,需要在我们的机器中安装maven。

linux中安装安装maven

maven是使用java语言编写的,所以我们要运行maven,需要先安装jdk。

安装jdk

下载jdk

本次我们安装jdk1.8,可以到oracle官网上去下载jdk-8u181-linux-x64.tar.gz,将其放在/opt/jdk目录中,如下:

[root@ady01 jdk]# cd /opt/jdk/
[root@ady01 jdk]# ll
total 181300
-rw-r--r-- 1 root root 185646832 Nov  1 13:30 jdk-8u181-linux-x64.tar.gz
解压jdk
[root@ady01 jdk]# tar -zvxf jdk-8u181-linux-x64.tar.gz
[root@ady01 jdk]# ll
total 181304
drwxr-xr-x 7   10  143      4096 Jul  7  2018 jdk1.8.0_181
-rw-r--r-- 1 root root 185646832 Nov  1 13:30 jdk-8u181-linux-x64.tar.gz
配置环境变量

在/etc/profile文件末尾追加下面几行

export JAVA_HOME=/opt/jdk/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

这个地方扩展个知识点:

有个知识点我们说一下,系统运行java或者其他外部命令的时候,系统是如何找到这些命令的?

linux中会去PATH对应的所有目录中寻找这个命令,找到了就可以直接运行,如果没有设置PATH,我们需要知道命令的完整路径才可以运行,所以使用PATH更方便一些。

window中,也有个系统变量PATH,这个PATH的值是由很多目录的地址组成的,当我们执行一个命令的之后,系统会去PATH对应的所有目录中寻找我们运行的命令,找到了就可以直接运行,比如你们想快速启动其他的一些软件,可以将这些软件的设置到PATH变量中,可以在cmd命令中快速启动了。

运行下面命令使环境变量生效
[root@ady01 jdk1.8.0_181]# source /etc/profile
验证jdk是否正常

查看jdk版本

[root@ady01 jdk]# java -version
java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode) 

新建/opt/jdk/HelloWorld.java,内容如下:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("hello maven!");
    }
}

运行下面的命令:

[root@ady01 jdk]# cd /opt/jdk/
[root@ady01 jdk]# javac HelloWorld.java 
[root@ady01 jdk]# java HelloWorld
hello maven!

恭喜,输出hello maven表示正常,jdk安装成功!

安装maven

下载maven

咱们到maven官网中下载最新的maven,地址如下:

https://maven.apache.org/download.cgi 

最新的版本是apache-maven-3.6.2,linux中我们需要下载apache-maven-3.6.2-bin.tar.gz这个。

[root@ady01 jdk]# mkdir /opt/maven [root@ady01 jdk]# cd /opt/maven/ [root@ady01 maven]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz --2019-11-01 13:47:11--  http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.1932402:f000:1:408:8100::1 Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:80... connected.
HTTP request sent, awaiting response... 200 OK Length: 9142315 (8.7M) [application/octet-stream]
Saving to: ‘apache-maven-3.6.2-bin.tar.gz’ 100%[==================================================================================================================================>] 9,142,315   10.2MB/s   in 0.9s    2019-11-01 13:47:13 (10.2 MB/s) - ‘apache-maven-3.6.2-bin.tar.gz’ saved [9142315/9142315]
[root@ady01 maven]# ls apache-maven-3.6.2-bin.tar.gz

上面我们创建了/opt/maven目录用来存放maven相关软件,然后使用到wget命令,这个是linux中的一个命令,可以访问一个http地址,将其下载到当前目录。

解压maven
[root@ady01 maven]# tar -zvxf apache-maven-3.6.2-bin.tar.gz
[root@ady01 maven]# ls
apache-maven-3.6.2  apache-maven-3.6.2-bin.tar.gz
maven目录结构
[root@ady01 maven]# ll /opt/maven/maven/
total 40 drwxr-xr-x 2 root  root   4096 Nov  1 13:49 bin
drwxr-xr-x 2 root  root   4096 Nov  1 13:49 boot
drwxrwxr-x 3 mysql mysql  4096 Aug 27 23:01 conf
drwxrwxr-x 4 mysql mysql  4096 Nov  1 13:49 lib
-rw-rw-r-- 1 mysql mysql 12846 Aug 27 23:09 LICENSE
-rw-rw-r-- 1 mysql mysql   182 Aug 27 23:09 NOTICE
-rw-rw-r-- 1 mysql mysql  2533 Aug 27 23:01 README.txt
  1. bin:存放可以执行的文件

  2. conf:存放maven的配置文件

  3. lib:maven是java编写的,里面会用到很多第三方的jar包,这些jar包位于lib中

创建一个软连接指向apache-maven-3.6.2目录
[root@ady01 maven]# ln -s apache-maven-3.6.2 maven
[root@ady01 maven]# ll
total 8936
drwxr-xr-x 6 root root    4096 Nov  1 13:49 apache-maven-3.6.2
-rw-r--r-- 1 root root 9142315 Sep  3 05:43 apache-maven-3.6.2-bin.tar.gz
lrwxrwxrwx 1 root root      18 Nov  1 13:56 maven -> apache-maven-3.6.2

ln –s 源文件 目标文件是linux中的一个命令,windows中的快捷方式都知道吧,这个相当于给源文件创建了一个快捷方式,快捷方式的名称叫做目标文件

ln -s apache-maven-3.6.2 maven是指给apache-maven-3.6.2创建了一个快捷方式maven,访问maven就相当于访问apache-maven-3.6.2

此处为什么需要用快捷方式?

以后升级maven更方便一些,以后如果我们需要将maven升级到最新的版本,比如3.7,那么只需下载3.7到当前目录,再运行一下ln -s apache-maven-3.7 maven命令修改一下快捷方式的指向就行了,很方便。

配置maven环境变量

在/etc/profile文件末尾追加下面几行

export M2_HOME=/opt/maven/maven
export PATH=$M2_HOME/bin:$PATH
运行下面的命令让环境变量生效
[root@ady01 maven]# source /etc/profile
验证maven是否正常
[root@ady01 maven]# mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: /opt/maven/maven
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /opt/jdk/jdk1.8.0_181/jre
Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-693.2.2.el7.x86_64", arch: "amd64", family: "unix" 

mvn -v输出maven的版本号信息,若输出和上面类似,那么恭喜你,maven安装成功!

window安装maven

安装jdk

下载jdk

我们以jdk1.8为例,到oracle官网下载jdk-8u121-windows-x64.exe

安装jdk文件

双击jdk-8u121-windows-x64.exe运行。

更改安装地址,如下:

上图中的地址为默认地址,本次我们将其改为D:\installsoft\Java\jdk1.8.0_121,大家也可以根据自己的需求修改安装地址。

然后点击下一步

上图中是jre的默认地址,我们将其改为D:\installsoft\Java\jre1.8.0_121

配置环境变量

桌面上选中此电脑->鼠标右键点击属性->高级系统设置->高级->环境变量->新建,如下: