Linux服务器下MAVEN的安装
软件下载
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
安装
tar -zxvf apache-maven-3.5.4-bin.tar.gz
修改环境变量,
MAVEN_HOME=/opt/apache-maven-3.5.4
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
记得执行source /etc/profile使环境变量生效
验证
最后运行mvn -v验证maven是否安装成功,如果安装成功会打印如下内容
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /opt/apache-maven-3.5.4
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_181/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-514.26.2.el7.x86_64", arch: "amd64", family: "unix"
Windows下Maven的安装和配置
2.配置Maven
(1)下载Maven
访问Maven下载页面,http://maven.apache.org/download.cgi,下载最新的稳定版本(stable),笔者下载的是apache-maven-3.2.5-bin.zip,如果你对Maven的源代码感兴趣,还可以下载apache-maven-3.2.5-src.zip
(2)解压缩
把下载的压缩包解压到制定目录
(3)配置Maven
解压好以后,进入 右键点击我的电脑》属性》高级系统设置》高级》环境变量,在系统变量里点击新建,变量名输入:M2_HOME,变量值就是你解压缩路径(见下图),输入完毕点击确定
在系统变量里找到Path,双击进行编辑,在变量值后面添加:;%M2_HOME%bin (别忘了前面的分号分隔符),点击确定
都添加完毕后,同时按win+R,输入cmd,点击回车进入命令行,在命令行中输入mvn -v,
(如果没有关闭,记得重新启动cmd控制台)
Maven 知识点
一、Maven依赖中的scope详解
compile
默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编
译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
test
scope为test表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行。比较典型的如junit。
runntime
runntime表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比
,跳过编译而已,说实话在终端的项目(非开源,企业内部系统)中,和compile区别不是很大。比较常
见的如JSR×××的实现,对应的API jar是compile的,具体实现是runtime的,compile只需要知道接口
就足够了。oracle jdbc驱动架包就是一个很好的例子,一般scope为runntime。另外runntime的依赖通
常和optional搭配使用,optional为true。我可以用A实现,也可以用B实现。
provided
provided意味着打包的时候可以不用包进去,别的设施(Web Container)会提供。事实上该依赖理论上可
以参与编译,测试,运行等周期。相当于compile,但是在打包阶段做了exclude的动作。
system
从参与度来说,也provided相同,不过被依赖项不会从maven仓库抓,而是从本地文件系统拿,一定需要
配合systemPath属性使用。
二、maven常见命令
1.在项目目录下:shift+右击选择:在此目录下打开命令窗口
2.
mvn clean 删除工程的target目录下的所有文件
mvn compile (可选)
mvn package 将工程打为Jar包
mvn -Dmaven.test.skip=true package(mvn package不行就换它)
mvn install 命令包含了mvn package的所有过程,
mvn spring-boot:run 使用spring-boot插件,启动springboot工程
mvn test 测试
mvn idea:idea 生成idea项目
mvn jar:jar 只生成 jar包
mvn validate 检验资源是否可用。