Maven说明

目录

1.说明

2.详细说明

3.Maven模型

4.Maven常用的命令

5.Maven生命周期

6.Maven坐标

7.依赖管理与依赖范围


1.说明

Maven是专门用于管理和构建Java项目的工具,它是基于项目对象模型(POM)的概念,主要功能有:

提供了一套标准化的项目结构

提供了一套标准化的构建流程(编译,测试,打包,发布)

提供了一套依赖管理机制

2.详细说明

(1)Maven提供了一套标准化的项目结构

所有的IDE构建出来的项目结构是一致的,所有IDE构建出来的项目是可以通用的。例如,eclipse创建出来的项目可以直接导入到idea中进行使用。

(2)Maven提供了一套标准化的构建流程

 Maven提供了一套简单的命令来完成项目的构建。

常用命令:

mvn -v //查看版本 
mvn archetype:create //创建 Maven 项目 
mvn compile //编译源代码 
mvn test-compile //编译测试代码 
mvn test //运行应用程序中的单元测试 
mvn site //生成项目相关信息的网站 
mvn package //依据项目生成 jar 文件 
mvn install //在本地 Repository 中安装 jar 
mvn -Dmaven.test.skip=true //忽略测试文档编译 
mvn clean //清除目标目录中的生成结果 
mvn clean compile //将.java类编译为.class文件 
mvn clean package //进行打包 
mvn clean test //执行单元测试 
mvn clean deploy //部署到版本仓库 
mvn clean install //使其他项目使用这个jar,会安装到maven本地仓库中 
mvn archetype:generate //创建项目架构 
mvn dependency:list //查看已解析依赖 
mvn dependency:tree com.xx.xxx //看到依赖树 
mvn dependency:analyze //查看依赖的工具 
mvn help:system //从中央仓库下载文件至本地仓库 
mvn help:active-profiles //查看当前激活的profiles 
mvn help:all-profiles //查看所有profiles 
mvn help:effective -pom //查看完整的pom信息

常用打包命令:

1. mvn clean package -Dmaven.test.skip=true
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段
package命令完成了项目编译、打包功能、跳过了单元测试,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。
2. mvn clean install -Dmaven.test.skip=true
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段
install命令完成了项目编译、打包功能、跳过了单元测试,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库。
3. mvn clean deploy -Dmaven.test.skip=true
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段
deploy命令完成了项目编译、打包功能、跳过了单元测试,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。

(3)提供了一套依赖管理机制

依赖管理其实是管理你项目所依赖的第三方资源,如jar包,插件等。

没有使用maven的场合:

需要下载jar包,复制jar包到项目,将jar包加入到工作环境。

步骤比较繁琐。

使用Maven的场合:

Maven使用标准的坐标配置来管理各种依赖。

只需要简单的配置就可以完成依赖的管理。

3.Maven模型

仓库分为本地仓库,中央仓库和远程仓库。

本地仓库:自己计算机上的一个目录。

中央仓库:由Maven团队维护的全球唯一的仓库。

地址: https://repo1.maven.org/maven2

远程仓库(私服):一般由公司团队搭建的私有仓库。

当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:
如果有,则在项目直接引用;
如果没有,则去中央仓库中下载对应的jar包到本地仓库。

还可以搭建远程仓库,搭建之后jar包的查找顺序则变为:

本地仓库->远程仓库->中央仓库

4.Maven常用的命令

5.Maven生命周期

(1)Clean生命周期(Clean Lifecycle)
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。Clean生命周期一共包含了三个阶段:

pre-clean 执行一些需要在clean之前完成的工作。

clean 移除所有上一次构建生成的文件。

post-clean 执行一些需要在clean之后立刻完成的工作。

(2)Default生命周期(Default Lifecycle)
Default Lifecycle是构建的核心部分,编译,测试,打包,部署等等,Default生命周期是Maven生命周期中最重要的一个,绝大部分工作都发生在这个生命周期中。

一些比较重要和常用的阶段:

compile 编译项目的源代码。

install 将包安装至本地仓库,以让其它项目依赖。

deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。

process-test-resources 复制并处理资源文件,至目标测试目录。

process-resources 复制并处理资源文件,至目标目录,准备打包。

test-compile 编译测试源代码。

test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。

package 接受编译好的代码,打包成可发布的格式,如 JAR。

validate

generate-sources

process-sources

generate-resources

process-classes

generate-test-sources

process-test-sources

generate-test-resources

process-test-classes

prepare-package

pre-integration-test

integration-test

post-integration-test

verify

(3)Site生命周期(Site Lifecycle)
Site Lifecycle 生成项目报告,站点,发布站点,站点的文档(站点信息,依赖..)。Site生命周期,生成站点信息四个阶段:

pre-site 执行一些需要在生成站点文档之前完成的工作。

site 生成项目的站点文档。

post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备。

site-deploy 将生成的站点文档部署到特定的服务器上。

6.Maven坐标

什么是坐标?
Maven 中的坐标是资源的唯一标识。
使用坐标来定义项目或引入项目中需要的依赖。

Maven 坐标主要组成
groupld:定义当前Maven项目隶属组织名称(通常是域名反写,例如: com.itheima)。
artifactld: 定义当前Maven项目名称 (通常是模块名称,例如 order-service、goods-service)。
version:定义当前项目版本号。

7.依赖管理与依赖范围

(1)依赖管理

 

(2)依赖范围

通过scope可以设置jar包在编译环境,测试环境还是运行环境有效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值