java-maven

 

1.1      什么是maven

 

Maven是基于POM(工程对象模型),通过一小段描述来对项目的代码、报告、文件进管理的工具。

 

Maven是一个跨平台的项目管理工具,它是使用java开发的,它要依赖于jdk1.6及以上

 

Maven主要有两大功能:管理依赖、项目构建。

 

1、  Maven

它是一个项目管理工具,他也是一个项目构建工具,通过使用maven,可以对项目进行快速简单的构建,它不需要告诉maven很多信息,但是需要安装maven去的规范去进行代码的开发。也就是说maven是有约束的。

 

Project

         |--src(源码包)

                   |--main(正常的源码包)

                            |--java(.java文件的目录)

                            |--resources(资源文件的目录)

                   |--test(测试的源码包)

|--java

                            |--resources

         |--target(class文件、报告等信息存储的地方)

         |--pom.xml(maven工程的描述文件)

依赖指的就是jar包。

 

 

1.1      Maven命令的使用

Maven的命令要在pom.xml所在目录中去执行

1.1.1   Mvn compile

编译的命令

1.1.2   Mvn clean

清除命令,清除已经编译好的class文件,具体说清除的是target目录中的文件

 

1.1.3   Mvn test

测试命令,该命令会将test目录中的源码进行编译

1.1.4   Mvn package

打包命令

1.1.5   Mvn install

安装命令,会将打好的包,安装到本地仓库  

1.1.1.1  Mvn clean compile

先清空再编译

 

1.1.1.2  mvn clean test命令

cmd 中录入 mvn clean test命令

组合指令,先执行clean,再执行test,通常应用于测试环节

 

1.1.1.3  mvn clean package命令

cmd 中录入 mvn clean package命令

         组合指令,先执行clean,再执行package,将项目打包,通常应用于发布前

         执行过程:

                   清理————清空环境

                   编译————编译源码

                   测试————测试源码

                   打包————将编译的非测试类打包

1.1.1.4  mvn clean install命令

cmd 中录入 mvn clean install 查看仓库,当前项目被发布到仓库中

         组合指令,先执行clean,再执行install,将项目打包,通常应用于发布前

         执行过程:

                   清理————清空环境

                   编译————编译源码

                   测试————测试源码

                   打包————将编译的非测试类打包

                   部署————将打好的包发布到资源仓库中

1       Maven的核心概念

1.1      坐标

1.1.1   什么是坐标?

在平面几何中坐标(x,y)可以标识平面中唯一的一点。在maven中坐标就是为了定位一个唯一确定的jar包。

Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范

拥有了统一规范,就可以把查找工作交给机器。

 

1.1.1   依赖冲突

在maven中存在两种冲突方式:一种是跨pom文件的冲突,一致是同一个pom文件中的冲突。

 

1.1.1.1  跨pom文件的冲突

MavenFirst的pom文件中依赖来junit的4.9版本,那边MavenSecond和MavenThird中都是使用了4.9版本。

 

 

 

如果MavenSecond中重新依赖junit的4.8版本,那么MavenSecond和MavenThird中都是使用了4.8本,这体现来依赖的就近使用原则。

 

依赖的jar包如下:

1.1      生命周期

Maven有三个生命周期:clean生命周期、default生命周期、site生命周期

 

生命周期可以理解为项目构建的步骤集合。

 

生命周期是由多个阶段(Phase)组成。每个阶段都是一个完整的功能,比如mvn clean中的clean就是一个阶段。

 

 

 

1.1.1   Clean生命周期

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

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

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

 

 

mvn clean命令,等同于 mvn pre-clean clean。只要执行后面的命令,那么前面的命令都会执行,不需要再重新去输入命令。

 

有Clean生命周期,在生命周期又有clean阶段。

 

1.1.2   Default生命周期(重点)

validate

generate-sources

process-sources

generate-resources

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

compile 编译项目的源代码。

process-classes

generate-test-sources

process-test-sources

generate-test-resources

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

test-compile 编译测试源代码。

process-test-classes

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

prepare-package

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

pre-integration-test

integration-test

post-integration-test

verify

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

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

在maven中,只要在同一个生命周期,你执行后面的阶段,那么前面的阶段也会被执行,而且不需要额外去输入前面的阶段,这样大大减轻了程序员的工作。

 

1.1.3   Site生命周期

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

site 生成项目的站点文档

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

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

转载于:https://www.cnblogs.com/jianxin-lilang/p/6428073.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值