第1章 maven概览及快速入门
本章以尽可能简单、通俗易懂的语言介绍了maven,以及maven的安装和入门操作命令。
1.1 什么是maven
比较正式语言:
- maven是一个项目构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署;
- maven不仅是构建工具,还是一个依赖管理和项目信息管理工具.还提供了中央仓库,能帮我们自动下载依赖包。
通俗讲:
- maven可以帮你编译和打包(当然ant也可以,但maven更简单),也可以帮你自动导入jar包,还能完成自动化工作。
1.2 为什么要用maven
- 与ant相似,可以实现一键编译打包功能,但命令更简洁。
- 再也不用去到处找jar包。
- 再用不用考虑引用xx包还要引入他的依赖包。
- 有自己的“私服”。
- maven有很多的plugin,可以有更多功能,没使用过没关系,后面章节会将。
总之优点很多,慢慢道来。
1.3 Linux环境安装maven
1.3.1 前置条件
操作系统:CentOS release 6.7 (Final); 查看命令:cat /etc/issue
JDK版本:JDK1.7;查看命令:java -version
1.3.2 安装maven
官网下载maven: 官网地址: enter link description here
Linux新建目录/usr/local/maven/,命令:mkdir /usr/local/maven
进入/usr/local/maven 下载maven,命令
wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz
解压,命令
tar -zxvf apache-maven-3.3.3-bin.tar.gz
配置环境变量
vim /etc/profile
- 在最后一行添加MAVEN_HOME
export MAVEN_HOME=/usr/local/maven/apache-maven-3.3.3
添加 MAVEN_HOME 入 PATH跟在JAVA_HOME后面
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
刷新配置变量
source /etc/profile
测试
java -version
mvn -v
修改本地仓库位置(不明白不要紧,后面会讲到,先跟着做)
maven的仓库default目录在~/.m2中,一般情况,我们会指定仓库地址
回到maven目录:
cd /usr/local/maven/apache-maven-3.3.3/conf/
修改位置
vim settings.xml
找到已注释掉的<localRepository>/path/to/local/repo</localRepository>
解开注释;修改内容为:
<localRepository>/usr/local/maven/repo</localRepository>
在/usr/local/maven/目录下新建文件夹repo
到此,maven已成功安装至Linux中。
1.4 常用命令介绍
清理(删除target目录下编译内容)
mvn clean
编译项目
mvn compile
打包
mvn package
可以连用
mvn clean package
安装当前工程的输出文件到本地仓库: mvn install
安装指定文件到本地仓库:mvn install:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>
打包时跳过测试
mvn package -Dmaven.test.skip=true
生成站点目录:mvn site
生成站点目录并发布:mvn site-deploy
1.5 使用命令生成项目
1.5.1 生成maven项目
基本命令格式为:
mvn archetype:generate -DgroupId=<groupName> -DartifactId=<projectName> -DpackageName=<packageName>
新建测试目录 /usr/local/test
我们这里新建一个名为simple项目
mvn archetype:generate -DgroupId=com.group -DartifactId=simple -DpackageName=com.group.maven
执行命令后,maven开始从中央仓库下载依赖,并存入我们的本地仓库/usr/local/maven/repo中,进入本地仓库会发现多了很多文件目录。(下载会有些慢,速度跟网速有关)
过程中会有交互,问你package名称,键入Y即可
目录结构:
1.5.2 生成web项目
基本命令
mvn archetype:generate -DgroupId=<groupName> -DartifactId=<webappName> -DarchetypeArtifactId=maven-archetype-webapp
进入目录 /usr/local/test 建一个名为:webappsimple的项目 mvn archetype:generate -DgroupId=com.group -DartifactId=webappsimple -DarchetypeArtifactId=maven-archetype-webapp
过程中会涉及到版本问题,直接回车即可 包名问题,直接键入Y即可。
目录结构:
特殊说明:maven建的web项目,资源根目录为src/main/webapp。