Maven使用详解视频课程——笔记(一)

视频课程链接:http://edu.51cto.com/course/13014.html

Maven项目管理工具,主讲:汤小洋

一、Maven简介

1. 什么是Maven

​ Apache Maven是一个软件项目管理和构建工具,可以帮助我们创建和管理项目

​ 基于项目对象模型POM(Poject Object Model)的概念,帮助开发者构造一个项目的完整生命周期

​ 注:POM是Maven对一个项目的描述,是Maven的核心,一个POM其实就是一个XML文件

2. 为什么使用Maven

2.1 项目的管理工具

​ 项目规则很大时一定会将项目进行拆分,将一个项目拆分成多个模块,每个模块对应一个工程,多个工程之间存储依赖关系

​ 此时可以使用Maven的依赖管理机制,帮助我们在项目与项目之间建立依赖关系

2.2 jar包的管理工具

  • 通过仓库管理jar包

    多个项目可能会用到相同的jar包,每个项目都要导入jar包,太麻烦

    此时可以通过Maven,将jar包放到Maven仓库中,在项目中引用仓库中的jar包

  • 解决jar包的依赖

    jar包之间存储依赖关系,并且依赖层次很复杂,很难记住

    此时可以使用Maven,帮助我们自动解决jar包间的依赖关系

  • 自动下载jar包

    项目中使用的jar数据很多,自己下载并手动添加jar包

    此时可以使用Maven,帮助我们自动下载所有相关的jar包

2.3 自动化的构建工具

​ 构建过程:编译主代码——>编译测试代码——>执行单元测试——>生成测试报告——>打包——>部署

3. 术语

3.1 中央仓库

​ 是一个网络仓库,存储jar包和maven插件

​ http://repo.maven.apache.org/maven2

​ http://repo1.maven.org/maven2/

​ http://mvnrepository.com/

3.2 本地仓库

​ 从中央仓库下载的jar包的存放位置,也是一个仓库,只不过是存放在本地电脑上

3.3 镜像仓库

​ 对某一仓库做的镜像

​ 阿里云提供的 http://maven.aliyun.com/nexus/content/groups/public/

3.4 私服

​ 局域网内部搭建的maven服务器

4. 单词

​ repository 仓库

​ archetype 原型、骨架(模板)

​ artifact 手工制品,成品(项目/jar/war)

二、安装Maven

1. 下载安装包

​ maven 3.2.5版本要求jdk1.6,其后的版本要求jdk1.7

2. 解压缩

​ 解压到无中文、无空格,不需要安装

3. 配置环境变量

3.1 Windows

​ Maven依赖于JAVA_HOME

echo %JAVA_HOME%
echo $JAVA_HOME

​ Maven环境变量:

  • M2_HOME=Maven安装目录
  • PATH=原PATH;%M2_HOME%/bin

​ 测试:mvn -version

3.2 Linux/Mac OS

​ 编辑/home/soft01/.bashrc文件,在最后一行添加内容:

cd /home/soft01
vi .bashrc
    export M2_HOME=/home/soft01/maven/apache-maven-3.2.5
    export PATH=$PATH:$M2_HOME/bin

​ 使修改立即生效:

source .bashrc

​ 测试:mvn -version

​ 成功的界面:

Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-15T01:29:23+08:00)
Maven home: /home/soft01/maven/apache-maven-3.2.5
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-oracle/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-30-generic", arch: "i386", family: "unix"

4. 配置本地仓库

4.1 本地仓库的默认位置

​ ~/.m2/repository

4.2 修改本地仓库的位置

​ 编辑conf/setting.xml

D:\maven\maven-repo

​ 测试:

cd maven/maven-projects
mvn archetype:generate  #创建maven项目

​ 提示:

  • 选择创建项目时使用的模板archetype:按回车
  • 输入groupId,一般为组织域名反向+项目名:com.itany.ums
  • 输入artifactId:test
  • 版本:按回车
  • 包名:按回车
  • 确认:按回车

5. 配置镜像仓库

​ 编辑conf/setting.xml

   
  
    aliyun
    * 
    aliyun maven
    http://maven.aliyun.com/nexus/content/groups/public/
  

6. 配置Maven的JDK版本

​ 默认使用maven创建的项目使用的是jdk1.5

​ 修改maven默认使用的jdk版本,编辑conf/setting.xml,在profiles标签中添加如下内容:


  jdk‐1.7
  
    true
    1.7
  
  
    1.7
    1.7
    1.7
  

三、创建Maven项目

1. Java项目的创建

1.1 目录结构

​ Java工程约定的目录结构如下:

|-项目名称
    |-src  //程序代码
        |-main //程序主代码
            |-java //源代码
                |-用于存放源代码,相当于传统项目的src,如com.itany.usm.dao.UserDao
            |-resources //配置文件
                |-用于存放配置文件
        |-test //测试代码,目录结构与main中一样
            |-java
            |-resources
    |-pom.xml  //maven核心配置文件

1.2 基本操作

​ 步骤:

  1. 创建Java项目

    mvn archetype:generate

    指定的信息如下:

    archetype:(maven-archetype-quickstart) #使用骨架创建java项目
    groupId:com.itany.study #指定组织域名反向+项目名
    artifactId:sms #指定模块名称
    version:1.0.1 #版本
    package:com.itany.study #包名
  2. 执行maven操作

    cd sms  #先切换到项目所在的目录
    mvn compile
    mvn clean compile test #可以同时执行多个命令

1.3 自定义Java类

2. Web项目的创建

1.1 目录结构

​ Web项目的约定目录结构如下:

|-项目名称
    |-src  //程序代码
        |-main //程序主代码
            |-java //源代码
                |-用于存放源代码,相当于传统项目的src,如com.itany.usm.dao.UserDao
            |-resources //配置文件
                |-用于存放配置文件
            |-webapp //网站根目录,相当于传统web项目的WebRoot
                |-WEB-INF
                    |-web.xml
        |-test //测试代码,目录结构与main中一样
            |-java
            |-resources
    |-pom.xml  //maven核心配置文件    

1.2 基本操作

​ 步骤:

  1. 创建web项目

    mvn archetype:generate

    指定的信息如下:

    archetype:(maven-archetype-webapp) #使用模板创建web项目
    .....
  2. 执行maven操作

    mvn clean compile package
  3. 发布

    方式1:使用外部的tomcat

    ​ 将shop.war包复制到webapps目录下,然后启动tomcat

    cd tomcat.../bin
    ./startup.sh

    方式2:使用maven的tomcat插件

    mvn tomcat:run
  4. 访问

    http://localhost:8080/shop

四、Maven命令

1. 常用命令

命令 作用 描述
archetype 创建maven项目 根据模板生成项目骨架
clean 清理 删除target目录
compile 编译 将main中的源代码编译成字节码,放在target/classes目录下
test 测试 执行测试类(使用JUnit),并生成测试报告
package 打包 将java项目打包成jar文件,将web项目打包成war文件,放在target目录下
install 安装 将项目的jar包安装到本地仓库中,供其他项目使用
deploy 发布/安装 将项目的jar包安装到中央仓库中,供其他项目使用,需要账户和密码(了解)
site 生成站点 生成关于项目介绍的网页

注意:

  • 所有的命令都要跟在mvn的后面,如mvn archetype
  • 所有的命令都必须在某个项目的根目录
  • 多个命令可以一起执行

2. 生命周期

​ 一个项目的构建build的过程通常包括:清理、编译、测试、打包、集成测试、部署等

​ Maven定义了三套生命周期:clean、default、site

​ 每个生命周期之间是互相独立,每个生命周期内都包含多个阶段,这些阶段是有顺序的,后续的阶段必须等待前面的阶段执行后才能执行

​ default生命周期包含:compile、test、package

五、在IDE中使用Maven

1.IDE工具

  • MyEclipse

    集成Maven插件

  • Eclipse

    Eclipse For Java EE

  • IDEA

    集成Maven插件

2. MyEclipse

2.1 配置maven

​ Installations

​ User Settings

2.2 创建maven项目

​ New——>Maven Project——>archetype

3. Eclipse

4. IDEA

4.1 配置maven

  • 指定maven安装目录和配置文件
  • 自动更新maven项目:勾选Import Maven projects automatically

4.2 创建maven项目

​ New Module——>Maven——>勾选Create from archetype

4.3 执行maven操作

​ Maven Projects 显示所有Maven项目

​ 执行生命周期

​ 自定义Maven操作

4.4 目录的类型

​ IDEA中目录是分类型的,常用的四种:

  • Sources Root 主代码的目录 src/main/java

  • Test Source Root 测试代码的目录 src/test/java

  • Resources Root 主代码所需资源的目录 src/main/resources

  • Test Resources Root 测试代码所需资源的目录 src/test/resources

    注:在IDEA中默认创建的目录都是普通的Directory,创建后需要设置目录的类型

转载于:https://blog.51cto.com/12402007/2154869

你可能感兴趣的:(Maven使用详解视频课程——笔记(一))