一、maven 入门

Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。Maven曾是Jakarta项目的子项目,现为由Apache软件基金会主持的独立Apache项目。

1.maven 软件安装

  • 确定本地安装 JDK
    打开cmd 敲击:echo %JAVA_HOME% 检查 本地是否配置 JAVA_HOME环境变量;JAVA -version 检查 JAVA 可执行程序是否可用
  • maven zip 包,解压,解压的路径不要出现中文或者特殊符号
一、maven 入门_第1张图片
图片.png
  • 配置 maven 的环境变量
    配置 MAVEN_HOME 环境变量名称对应的值为:maven 软件的解压路径
    配置 PATH 环境变量名称对应的值:%MAVEN_HOME%/BIN
  • 检查 maven 的环境变量配置是否完成
    mvn -v 是否显示maven相关信息,没有显示表示maven 未配置成功

2.快速创建 maven 项目

  • mvn archetype:generate -DgroupId=com.xingxue.mavendemo -DartifactId=mavendemo-day1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

-DgroupId : maven 项目的名称
-DartifactId : maven 项目模块名称
-DarchetypeArtifactId :使用maven 的骨架(工程结构)

3.maven 项目工程结构

----| maven 项目模块文件夹
  ---|src 文件
    ---|main 主代码
      ---| java 文件夹:将来都放包
      ---| resouces 文件夹:将来放配置文件
    ---|test 测试代码
      ---| java 文件夹:将来都放包
      ---| resouces 文件夹:将来放配置文件
  ---|pom.xml pom文件

  • maven 常用命令:
    编译命令:mvn compile
    清除命令: mvn clean
    测试命令: mvn test
    打包命令: mvn package
    安装命令:mvn install

4.maven 坐标

站在 maven 软件的角度看 项目,每个项目都是一个构建而已,一个项目如果要分模块,可以把每个模块看成一个构建。一个构建要依赖其他的构建,如何去引用其他构建,三坐标来描述一个构建。

  • 三坐标:gav
    groupId:描述项目名称(带个组织公司的域名)eg:com.xingxuecn.crm
    artifactId:描述项目的模块 eg:crm-service
    version:模板的版本号 eg:1.0

  • 三坐标在 pom 文件中进行描述


   4.0.0
  
  com.xingxue.mavendemo
  mavendemo-day2
  1.0-SNAPSHOT
  • artifactId + version = 打成jar 的名称
    eg:mavendemo-day2-1.0-SNAPSHOT.jar

  • 构建在仓库中的路径 = groupId+artifactId+1.0-SNAPSHOT路径下

  • pom 文件:(project object model),该文件用于来描述模块的信息的,不仅来描述模块的三坐标,将来还要描述依赖管理的插件以及jar包等信息

  • 修改 中央仓库的地址:


    一、maven 入门_第2张图片
    图片.png

5.依赖管理

依赖包具有传递性,如果有一个包要依赖其他,其他的包也会同时下载

eg:下载 struts2的包,只需要导入 struts2-core包,就会依赖的下载其他的包

    
        
            org.apache.struts
            struts2-core
            2.3.34
        
    

依赖包的图如下:


一、maven 入门_第3张图片
图片.png

查询构建的三坐标网站:http://mvnrepository.com/

6.仓库管理

仓库将来就是用于存放一些 jar 包以及 maven 插件(编译插件、打包的插件......)

  • 仓库分类
    本地仓库 : .m2文件夹 (仓库)
    私服 :公司搭建的 maven 仓库
    中央仓库:官方 http://repo1.maven.org/maven2
    远程仓库:非官方 (镜像地址 ailibaba maven 镜像):http://maven.aliyun.com/nexus/content/groups/public/

本地仓库 --------------------> 私服 ------------------->远程仓库

7.生命周期

Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,初学者容易将Maven的生命周期看成一个整体,其实不然。这三套生命周期分别是:

  • Clean Lifecycle 在进行真正的构建之前进行一些清理工作。

  • Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等

  • Site Lifecycle 生成项目报告,站点,发布站点。

注意:它们是相互独立的,你可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。

mvn install : 编译 、 测试 、 打包 、 安装,这就是一套默认的构建生命周期
mvn clean: 构建输出的清理
mvn clean install : 先执行 清理,然后编译 、 测试 、 打包 、 安装

常用两套生命周期来玩: mvn clean test 、 mvn clean compile、 mvn clean package....

8. maven 软件 集成到 Eclipse,利用 Eclipse 自带的 maven 插件

  • Eclipse 自带的 maven 插件 m2Eclipse 插件。
  • 一、maven 入门_第4张图片
    图片.png
一、maven 入门_第5张图片
图片.png
  • 使用 eclipse 创建 maven jar工程


    一、maven 入门_第6张图片
    图片.png
  • 使用 eclipse 创建 maven war工程


    一、maven 入门_第7张图片
    图片.png

你可能感兴趣的:(一、maven 入门)