码迷,mamicode.com
首页 > 其他好文 > 详细

Maven学习总结

时间:2015-05-17 20:00:05      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

1:概念

         Maven是跨平台的项目管理工具。作为Apache组织中的一个颇为成功的开源项目,主要服务于基于java平台的项目构建、依赖管理和项目信息管理。

2:特点

(1)自动构建:傻瓜化、高度自动化、一部构件

(2)依赖管理:自动下载相关jar包,统一依赖管理

(3)项目信息管理:项目信息、开发人员信息、开发者信息、文档自动生成

3:约定

 

 

 

1

src/main/java

存放项目的java文件

2

src/main/resources

存放项目资源文件,如spring、hibernate的配置文件

3

src/test/java

存放所有测试的java文件

4

src/test/resources

测试资源文件

5

target

项目输出位置,每次构建自动产生

6

pom.xml

Maven工程配置文件,相对于web工程中的web.xml

4:坐标

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

                  坐标主要组成

  • groupId:定义当前Maven项目隶属项目,【包】
  • artifactId:定义实际项目中的一个模块,【模块】
  • version:定义当前项目的当前版本,【版本】
  • packaging:定义该项目的打包方式,默认jar,还可以是war、jar、ear

5:依赖管理

         依赖范围scope

    技术分享

         传递性依赖

    技术分享 

传递性依赖原则:

  • 路径最近者优先
  • 路径相同,第一声明者优先

 

6:生命周期管理

Maven生命周期就是为了对所有的构建过程进行抽象和统一,包括项目清理,初始化,编译,打包,测试,部署等几乎所有构建步骤

  技术分享

三大生命周期

  • clean:清理项目的       pre-clean 、clean、post-clean
  • site:生成项目站点的   site、post-site、site-deploy
  • default:构建项目的【重点】

compile—> test—> package—> install—> deploy

7:继承与聚合

         继承:

继承为了消除重复,我们把很多相同的配置提取出来

   技术分享

聚合:

如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合

技术分享

4:mvn命令

   mvn 插件名:目标名

   (mvn compile  隐含没有显式的指定)

清除                             mvn clean

编译                             mvn compile

测试                             mvn test  执行junit测试,并输出报告

测试某一个测试类 mvn test -Dtest=MldcCompanyServiceImplTest

打包                             mvn package 生成jar包

安装                             mvn install 发布到个人仓库中

            转成eclipse项目  mvn eclipse:eclipse

            生成依赖树      mvn dependency:tree > tree.txt

 

注:(1)运行mvn命令必须在pom.xml同路径下

   (2)pom.xml文件中文乱码问题:

                   将pom.xml文件另存,保存时选择utf-8格式即可

(3)若更改了用户的setting.xml文件。一定要在Maven-->Uer setting中Update Setting

(4)

  技术分享

Maven学习总结

标签:

原文地址:http://www.cnblogs.com/stsjiayou/p/4510149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!