Maven学习总结

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)

  

posted @ 2015-05-17 17:54  风动水韵  阅读(256)  评论(0编辑  收藏  举报