Maven POM文件、多模块以及依赖关系

一、POM.XML

1、ProjectObject Model:项目对象模型

2、基本项:

  • project:pom.xml的顶级元素。
  • groupId:指出创建这个工程的组织或团队的唯一标识。
  • plugins:插件。
  • artifactId:基本名称。
  • packaging:类型(如JAR、WAR、EAR等等),默认是JAR,所有带有子模块的项目的packaging

    都为pom。

  • version:版本号。
  • modelVersion:指出POM使用哪个版本的对象模型。

二、多模块

1、如何创建

        参考:http://www.cnblogs.com/quanyongan/archive/2013/05/28/3103243.html

2、为什么要分多模块

    软件公司通常的一种做法就是将多个项目构建到主要产品中。维护依赖关系链和一次性地构建整个产品足以成为一个挑战,但是如果使用Maven的话,事情将变得简单。如果您创建了一个指向其它子模块的 pom.xml父文件,Maven将为您处理整个构建过程。它将分析每个子模块的pom.xml文件,并且按照这些子模块的相互依赖顺序来构建项目。如果每个项目明确地指明它们的依赖项,那么子模块在父文件中的放置顺序是不造成任何影响的。但是考虑到其他的开发者,最好保证子模块在pom.xml父文件中 的放置顺序和您期望的子项目被构建的顺序一样。

        参考:http://juvenshun.iteye.com/blog/305865

3、依赖另一个项目的子模块

    A项目下有2个子模块A1,A2;B项目下有3个子模块B1,B2,B3;

    A1依赖B1和A2; A2依赖B2,B3;

    则,需要先运行B项目,成功之后再运行A项目。

三、依赖关系

1、简介

    参看:管理依赖

2、scope参数

指定依赖项在何种阶段是所需的。



    aa
    aa
    1.5.1
    compile

——》参数值:

  • compile:默认值。表示是所有任务所需的资源,会随项目一起发布。
  • test:用于编译和运行测试代码时所需的资源,不会随项目发布。
  • runtime:运行时所需的资源,如JDBC驱动。
  • provided:类似compile,JDK部分或应用服务器的classpath所需的资源,期望JDK、容器

    或使用者会提供这个依赖,如servlet.jar。

  • system:类似provided,必须指定systemPath,需要显示提供依赖的jar,

    maven不会在Repository中查找。

 

 

你可能感兴趣的:(maven)