maven学习笔记(一)

一、maven命令

mvn help:system   打印出所有的系统属性和环境变量

mvn test :调用default生命周期的test阶段,实际执行test以及之前所有阶段

mvn test-compile:编译测试代码,compile之后生成的target文件夹,主程序便已在classes文件夹下面,测试程序代码放在test-classes文件夹下,测试程序代码放在test-classes文件夹下。

mvn clean : 删除target文件夹

mvn clean install : 调用clean生命周期的clean阶段和default的install阶段,实际执行pre-clean和clean,install以及之前所有阶段

二、maven 引用构建(jar)的流程

1.mvn clean 清理target文件夹

2.mvn compile 进行源码的编译

3.编译的时候 如果程序用到一些第三方的jar包,就会去pom.xml进行查找是否引入该依赖包的坐标(groupId、artifactId、version)

4.如果引入的依赖包坐标不对或者没有,就会提示相应的错误信息

5.如果引入的依赖包坐标正确,就会去本地仓库集中进行查找

6.如果在本地仓库中找到了,就可以将依赖的jar添加到classpath路径中

7.如果找不到,就会去中央远程仓库进行下载、并将其放入本地仓库供项目使用。

三、maven镜像仓库

   maven中央远程仓库服务器在 国外,国内对国外网站进行屏蔽,所有会将下载好的jar提供给我们下载,

著名的是maven 开源镜像:http://maven.oschina.net/content/groups/public/

四、maven 依赖范围:

范围名称编译测试运行eg

compile

 
test  junit
provided 典型的servet api
runtime jdbc的驱动实现
system系统的依赖范围,使用时必须通过systemPath元素显示制定依赖文件的路径,不依赖于maven仓库解析,所以可能会造成构建不可移植。慎用

 

 

            

 

 

 

 

 

范围的具体定义,例:

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
</dependency>

五、maven的生命周期

     maven生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。

      此外maven的插件机制是完全依赖maven的生命周期的,因此理解生命周期至关重要,初学者容易将maven的生命周期看成一个整体,其实不然。这三套生命周期分别是

        clean lifecycle 在进行真正的构建之前进行一些清理工作。

        default lifecycle 构建的核心部分,编译、测试、打包、部署等。

        site lifecycle 生成项目报告,站点、发布站点

1clean生命周期:清理项目,包含三个时期

1pre-clean:执行清理前需要完成的工作

2clean:清理上一次构建生成的文件

3post-clean:执行清理后需要完成的工作

2default生命周期:构建项目,重要的时期如下。

1validate:验证工程是否正确,所有需要的资源是否可用。
2compile:编译项目的源代码。  
3test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
4Package:把已编译的代码打包成可发布的格式,比如jar
5integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
6verify:运行所有检查,验证包是否有效且达到质量标准。
7install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。
8Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。

基本上,根据名称我们就能猜出每个阶段的用途,关于其它阶段的解释,请参考http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

3site生命周期:建立和发布项目站点,时期如下

1pre-site:生成项目站点之前需要完成的工作

2)site:生成项目站点文档

3post-site:生成项目站点之后需要完成的工作

4site-deploy:将项目站点发布到服务器

各个生命周期相互独立,一个生命周期的阶段前后依赖

运行任何一个阶段,它前面的所有阶段都会被运行。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值