第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

Alt text

1.3.2 安装maven

  1. 官网下载maven: 官网地址: enter link description here

  2. Linux新建目录/usr/local/maven/,命令:mkdir /usr/local/maven

  3. 进入/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

    Alt text

  4. 解压,命令

  5. tar -zxvf apache-maven-3.3.3-bin.tar.gz

  6. 配置环境变量

  7. vim /etc/profile

  8. 在最后一行添加MAVEN_HOME export MAVEN_HOME=/usr/local/maven/apache-maven-3.3.3
  9. 添加 MAVEN_HOME 入 PATH跟在JAVA_HOME后面 export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

    Alt text

  10. 刷新配置变量 source /etc/profile

  11. 测试 java -version mvn -v

    Alt text

  12. 修改本地仓库位置(不明白不要紧,后面会讲到,先跟着做)

    maven的仓库default目录在~/.m2中,一般情况,我们会指定仓库地址

  13. 回到maven目录: cd /usr/local/maven/apache-maven-3.3.3/conf/

  14. 修改位置 vim settings.xml 找到已注释掉的<localRepository>/path/to/local/repo</localRepository>解开注释;

    修改内容为:<localRepository>/usr/local/maven/repo</localRepository> Alt text

    在/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

Alt text

执行命令后,maven开始从中央仓库下载依赖,并存入我们的本地仓库/usr/local/maven/repo中,进入本地仓库会发现多了很多文件目录。(下载会有些慢,速度跟网速有关)

Alt text

过程中会有交互,问你package名称,键入Y即可

Alt text

目录结构:

Alt text

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即可。

Alt text

目录结构:

Alt text

特殊说明:maven建的web项目,资源根目录为src/main/webapp。