Java工作需要的技能

Maven核心概念全讲解

2020-02-05  本文已影响0人  4ea0af17fd67

Maven 是什么?

che/maven)

下载安装

下载地址 https://maven.apache.org/download.cgi

  1. 下载压缩包解压可用,非常简单
  2. 需要预装JDK环境,并配置JAVA_HOME环境变量
  3. 将Maven的解压目录加入系统环境变量PATH


运行

运行Maven的语法如下:
mvn [选项] [<目标>] [<阶段>]
获取帮助命令 mvn -h

约定配置

一个Maven项目目录如下,约定如此:

-- 项目目录
----src 资源目录,存放项目代码
------main 代码主目录,存放项目主体代码
--------java 存放java代码
--------resource 存放资源代码
------test  测试目录,存放测试相关代码
--------java 存放java代码
--------resource 存放资源代码
-----target 打包输出目录,存放项目打包后输出的jar或war包
-------classes 编译输出目录
-------test-classes 测试代码编译输出目录
--pom.xml 项目对象模型描述文件,是一个xml文件

一个项目的开发流程约定如下:
Maven提供一个中心仓库,大家把自己写好的代码打包成jar发布到中心仓库,用一段pom片段描述项目信息,别人使用该项目的时候,引入该pom片段,Maven自动把相关jar依赖下载并配置到项目开发环境中,如果多个jar之间有相互依赖或继承等关系,Maven会自动处理好。

Maven仓库

仓库分为:

仓库本质就是一个文件夹,用来存放依赖jar等文件。
本地仓库目录默认存放在用户目录下.m2文件下

本地仓库路径修改需要修改setting.xml:

      <localRepository>C:/MyLocalRepository</localRepository>

远程仓库修改需要修改项目中的pom.xml文件

 <repositories>
      <repository>
         <id>companyname.lib1</id>
         <url>http://download.companyname.org/maven2/lib1</url>
      </repository>
      <repository>
         <id>companyname.lib2</id>
         <url>http://download.companyname.org/maven2/lib2</url>
      </repository>
   </repositories>

中央仓库地址: https://mvnrepository.com/

可以web打开搜索依赖。

Maven依赖的搜索顺序:

  1. 本地仓库搜索,搜索到即使用,搜索不到就去中央仓库搜索
  2. 中央仓库搜索到则下载缓存到本地仓库,搜索不到则查找配置的远程仓库
  3. 如果没配置远程仓库,则报错,配置了远程仓库,则去远程仓库查找
  4. 远程仓库搜索到则下载到本地缓存,搜索不到则报错

POM 坐标

    <!-- 模型版本 -->
    <modelVersion>4.0.0</modelVersion>
    <!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group -->
    <groupId>com.companyname.project-group</groupId>
    <!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
    <artifactId>project</artifactId>
    <!-- 版本号 -->
    <version>1.0</version>
</project>

Maven生命周期

Maven 有以下三个标准的生命周期:

Clean 生命周期

当我们执行 mvn post-clean 命令时,Maven 调用 clean 生命周期,它包含以下阶段:

Default (Build) 生命周期

这是 Maven 的主要生命周期,被用于构建应用,包括下面的 23 个阶段:

说明:
有一些与 Maven 生命周期相关的重要概念需要说明:
当一个阶段通过 Maven 命令调用时,例如 mvn compile,只有该阶段之前以及包括该阶段在内的所有阶段会被执行。
不同的 maven 目标将根据打包的类型(JAR / WAR / EAR),被绑定到不同的 Maven 生命周期阶段。

Site 生命周期

Maven Site 插件一般用来创建新的报告文档、部署站点等。

Maven的所有生命周期都是由插件完成的,你也可以自定义自己的插件,用来实现特定的功能。

常用的命令

# 清理
mvn clean 
# 编译
>mvn compile
# 安装
mvn install
# 先清理再部署
mvn clean deploy
# 生成站点文档
mvn site

IDEA中使用Maven

idea自带了maven,使用非常方便,都是图形界面化操作,在项目的右侧导航栏,对应的生命周期之间双击鼠标即可


具体的设置如下图:


上一篇 下一篇

猜你喜欢

热点阅读