项目管理利器-maven

maven

一、常用命令:

mvn -v 查看maven版本

    compile 编译

    test 测试

    package 打包

    clean 删除target

    install 安装jar包到本地仓库中,可以在其它项目中对其进行依赖引用

 

二、maven项目目录结构

src

  -main

    java

  -test

    java

  -resource

 

三、maven自动建立目录骨架

常用的构建命令介绍:

1) 自动创建项目目录的两种方式

1、mvn archetype:generate 按照提示进行选择

2、mvn archetype:generate -DgroupId=组织名,公司网址的反写+项目名

               -DartifactId=项目名-模块名

               -Dversion=版本号

               -Dpackage=代码所存在的包名

自动创建目录骨架:archetype插件,用于创建符合maven规定的目录骨架

 

四、maven中的坐标和仓库

1)坐标

groupId、artifactId、version

2)仓库

本地仓库、远程仓库、镜像仓库

修改镜像仓库: 在settings.xml中 mirrors 标签中 mirror

更改仓库路径:默认在repository目录下,修改sttings.xml 中 localRepository标签

 

五、在eclipse中安装maven插件以及创建maven项目

六、maven的生命周期和插件

1)完整项目构建过程包括:

清理、编译、测试、打包、集成测试、验证、部署

2)maven生命周期:

clean 清理项目

  pre-clean 执行清理前的工作

  clean清理上一次构建生成的所有文件

  post-clean执行清理后的文件

default 构建项目

  compile test package install

site 生成项目站点

  pre-site 在生成项目站点前要完成的工作

  site 生成项目的站点文档

  post-site 在生成项目站点后要完成的工作

  site-deploy 发布生成的站点到服务器上

 

七、maven中pom.xml解析

<project>

<!-- 指定了当前pom的版本 -->

<modelVersion>4.0.0</modelVersion>

<groupId>反写的公司网址+项目名</groupId>

<artifactId>项目名+模块名</artifactId>

<!--

  第一个0表示大版本号

  第二个0表示分支版本号

  第三个0表示小版本号

  0.0.1

  snapshot快照

  alpha内部测试

  beta公测

  Release稳定

  GA正式发布

-->

<version></version>

<!--

  打包方式,默认打包是jar,还有war zip pom

 -->

<packaging></packaging>

<!--

  项目描述名

 -->

<name></name>

<!--

  项目地址

 -->

<url></url>

<!--

  项目描述

 -->

<description></description>

<!--

  开发人员

 -->

<developers></developers>

<!--

  依赖列表

-->

<dependencies>

  <!--

    依赖项

  -->

  <dependency>

    <groupId></groupId>

    <artifacId></artifacId>

    <version></version>

    <!---->

    <type></type>

    <!-- 依赖范围 -->

    <scope></scope>

    <!-- 设置依赖是否可选 -->

    <optional></optional>

    <!-- 排除依赖传递列表 -->

    <exclusions>

      <exclusion>

      </exclusion>

    </exclusions>

  </dependency>

</dependencies>

<!-- 依赖管理 -->

    <dependencyManagement>

      <dependencies>

        <dependency>

        </dependency>

      </dependencies>

    </dependencyManagement>

    

    <build>

      <!-- 插件列表 -->

      <plugins>

        <plugin>

        </plugin>

      </plugins>

    </build>

    <parent></parent>

    <modules>

      <module></module>

    </modules>

</project>

 

八、依赖的范围

<scope></scope>

 6种范围:

compile:默认的范围,编译测试运行都有效

provided:在测试和编译时候有效

runtime:在测试和运行时候有效

test:在测试范围有效

system:与本机系统相关联

import:导入的范围,它只使用再dependencyManagement中,表示从其它的pom中导入dependecy

 

九、依赖的传递

十、依赖冲突

1、短路优先

2、先声明优先

十一、maven的聚合和继承

 

posted @ 2017-05-22 17:27  少年不年少  阅读(199)  评论(0)    收藏  举报