Maven 中的pom.xml 详解

来源:互联网 发布:李知恩情侣头像 编辑:程序博客网 时间:2024/06/04 19:18

Maven 中的pom.xml 详解

打开pom.XML,最基础的是这样的

<project xmlns="http://maven.apache.org/POM/4.0.0"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.xrq.withmaven</groupId>  <artifactId>withmaven</artifactId>  <version>0.0.1-SNAPSHOT</version>  <build/></project>
  • 1.modelVersion
    指定了当前Maven模型的版本号,对于Maven2和Maven3来说,它只能是4.0.0

  • 2.groupId
    一般由3部分组成,有‘.’分隔,第一部分说明用途,比如用于商业的就是‘com’,用于非营利性组织的就是‘org’;第二部分是公司名,比如‘tenxun’,‘alibaba’;第三部分是项目名

  • 3.artifactId
    可以认为是Maven构建的项目名,比如项目中有子项目,就可以试用‘项目名-子项目名’的明明方式

  • 4.version
    版本号,SNAPSHOU意为快照,说明该项目还在开发中,是不稳定的版本。在Maven中很重要的一点是,groupId,artifactId,version三个元素生成了一个Maven项目的基本坐标。

除了上面这些元素之外,还有一些元素,同样罗列一下:

  • 5.packing
    项目打包的类型,可以使用jar、war、rar、ear、pom,默认是jar

  • 6.dependencies和dependency
    前者包含后者,Maven的一个重要作用就是统一管理jar包,为了一个项目可以build或运行,项目中不可避免的,会依赖许多其他的jar包,在Maven中,这些依赖就被称为dependency。
    说到这里,就有一个本地仓库远程仓库的概念了,官方下载的本地仓库的配置在“%MAVEN_HOME%/conf/setting.xml”里面,找一下“localRepository”就可以了;MyEclipse默认的本地仓库的地址在“{user.home}/.m2/repository”路径下,同样找一下“localRepository”就可以找到MyEclipse默认的本地仓库了。

    本地仓库和远程仓库是这样的,Maven工程会先从本地仓库中获取jar包,当无法获取指定jar包时,本地仓库会从远程仓库(中央仓库)中下载jar包,并放入本地仓库以备将来使用。
    举个例子,比方说我的项目中用到了MyBatis,那么可以这样配置:

<dependencies>    <dependency>        <groupId>org.mybatis</groupId>        <artifactId>mybatis</artifactId>        <version>3.2.5</version>    </dependency></dependencies>
上面说到的groupId、artifactId、version唯一标识一个Maven项目,有了这三个元素,我们就可以去远程仓库下载MyBatis3.2.5.jar到本地仓库了。回想我们之前的做法,如果要MyBatis的jar包,发现没有,然后去网上下载一个,但是现在有了Maven,就方便多了,只需要配置jar包对应的dependency依赖,Maven会自动帮助我们去远程仓库中下载jar包到本地仓库中。
  • 7.properties
    properties是用来定义一些配置属性的,列如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可以定义相关构建版本号,便于日后统一升级。

  • 8.build
    build表示与构建相关的配置,比如build下有finalName,表示的就是最终构建之后的名称。

    接着解释一下Maven的目录结构:
    a.main目录下是项目的主要代码,test目录下存放测试相关的代码
    b.变异输出后的代码会放在target目录下
    c.src/main/java下存放Java代码,src/main/resource下存放配置文件
    d.这里没有webapp,Web项目会有webapp目录,webapp下存放Web应用相关代码
    e.pom.xml是Maven项目的配置文件

原创粉丝点击