篇一:maven基础概念

一、maven基础概念

  1、maven是项目管理工具,主要用于:jar包管理、

  2、生命周期(lifecycle):清理、编译、测试、测试报告、打包、部署。每一个构建过程对应一个lifecycle,而每一个lifecycle对应多个phase(阶段),phase可以理解为接口,goal理解为phase的具体操作

  maven中jar包坐标:坐标由groupId、artifactId、version、classfier、type五部分组合而成,因此每一个jar的坐标都是独一无二的

 

二、maven命令行操作

  

 

 

三、maven的依赖

  maven最大的优势在于jar包版本的统一管理,尤其是中央仓库

  1、maven引入jar

    基本要素:groupId、artifactId、version

   <dependency>
        <groupId>us.codecraft</groupId>
        <artifactId>webmagic-core</artifactId>
        <version>0.5.2</version>
    </dependency>

 

  2、jar的类型定义:

<dependency>
      <groupId>us.codecraft</groupId>
      <artifactId>webmagic-core</artifactId>
      <version>0.5.2</version>
      <scope>compile</scope>
</dependency>

  五种类型的jar引入:scope

* compile,缺省值,适用于所有阶段,会随着项目一起发布。 
* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 
* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 
* test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。 

  3、全局和版本的管理

    maven工程分为pom、war、jar,pom工程可以对子工程进行jar的统一配置(子过程全部包含jar),可以对jar的版本进行统一

<!-- 所有得到依赖都统一放在dependencies中 -->
<dependencies>
     <!-- pom工程中dependency依赖的jar,会在子工程中自动添加  -->
     <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.0.RELEASE</version>
    </dependency>

    <!-- pom工程中dependencyManagement依赖的jar,子工程中不自动添加,可以统一配置版本  -->
    <dependencyManagement>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.0.RELEASE</version>
    </dependencyManagement >
</dependencies>

 

四、maven的继承和聚合

  1、maven的继承

     a、A依赖B,B依赖C,A中自动添加B、C的依赖包

     b、A依赖B,A依赖C,B和C中不同版本的jar包,A会按照先后顺序,以最先依赖的为主

  2、maven的聚合

    maven聚合:自动化打包

<!-- 在父工程pom.xml中添加,格式(../工程名) -->
<modules>
     <module>../common-model</module>   
     <module>../common-dao</module> 
     <module>../common-interface</module> 
</modules>
posted @ 2017-03-14 10:59  刘广平  阅读(489)  评论(0)    收藏  举报