zoukankan      html  css  js  c++  java
  • Maven学习总结(六):pom.xml文件的说明

     

    什么是POM?

     

    POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。作用类似ant的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。

     

    1 maven的协作相关属性

      一个最简单的pom.xml的定义必须包含modelVersion、groupId、artifactId和version这四个元素,当然这其中的元素也是可以从它的父项目中继承的。在Maven中,使用groupId、artifactId和version组成groupdId:artifactId:version的形式来唯一确定一个项目:

    复制代码
    <?xml version="1.0" encoding="UTF-8"?>
    <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/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <!-- 
            含义:组织标识,定义了项目属于哪个组,风向标,坐标,或者说若把本项目打包
            用途:此名称则是本地仓库中的路径,列如:otowa.user.dao,在M2_REPO目录下,将是: otowa/user/dao目录
            命名规范:项目名称,模块,子模块
        -->
        <groupId>otowa.user.dao</groupId>
        <!-- 
            含义:项目名称也可以说你所模块名称,定义当面Maven项目在组中唯一的ID
            用途:例如:user-dao,在M2_REPO目录下,将是:otowa/user/dao/user-dao目录
            命名规范:唯一就好
        -->
        <artifactId>user-dao</artifactId>
        <!-- 
            含义:项目当前的版本号
            用途:例如:0.0.1-SNAPSHOT,在M2_REPO目录下,将是:otowa/user/dao/user-dao/0.0.1-SNAPSHOT目录
        -->
        <version>0.0.1-SNAPSHOT</version>
        <!-- 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par -->
        <packaging>war</packaging>
        <!-- 元素声明了一个对用户更为友好的项目名称 -->
        <name>maven</name>
    </project>
    复制代码

    2、JavaProject的pom.xml文件说明

      通过Maven构建的JavaProject,在项目的根目录下都会存在一个pom.xml文件,这个文件是Maven的核心。

        1、pom意思就是project object model。

        2、pom.xml包含了项目构建的信息,包括项目的信息、项目的依赖等。

        3、pom.xml文件是可以继承的,大型项目中,子模块的pom.xml一般都会继承于父模块的pom.xml

      pom.xml文件的内容如下:

    复制代码
     1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     3   <modelVersion>4.0.0</modelVersion>
     4 
     5   <groupId>com.mycompany.app</groupId>
     6   <artifactId>myapp</artifactId>
     7   <version>1.0-SNAPSHOT</version>
     8   <packaging>jar</packaging>
     9 
    10   <name>myapp</name>
    11   <url>http://maven.apache.org</url>
    12 
    13   <properties>
    14     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    15   </properties>
    16 
    17   <dependencies>
    18     <dependency>
    19       <groupId>junit</groupId>
    20       <artifactId>junit</artifactId>
    21       <version>3.8.1</version>
    22       <scope>test</scope>
    23     </dependency>
    24   </dependencies>
    25 </project>
    复制代码

      pom.xml文件的节点元素说明:

        <project>       pom文件的顶级节点
        <modelVersion>     object model版本,对Maven2和Maven3来说,只能是4.0.0 
        <groupId>       项目创建组织的标识符,一般是域名的倒写
        <artifactId>      定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目
        <version>        当前项目的版本,SNAPSHOT,表示是快照版本,在开发中

        <packaging>      打包的方式,有jar、war、ear等
        <name>        项目的名称
        <url>          项目的地址

        <properties>    属性配置,比如:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <dependencies>     构建项目依赖的jar

      其中由groupId、artifactId和version唯一的确定了一个项目坐标

  • 相关阅读:
    旺财速啃H5框架之Bootstrap(二)
    Java 8 的 Nashorn 脚本引擎教程
    kindeditor4整合SyntaxHighlighter,让代码亮起来
    让kindeditor显示高亮代码
    css伪元素用法大全
    弹性布局基础讲解与高效应用
    美化页面,从我做起
    深度理解微信小程序的思想
    程序员提升之道-人际交往篇
    前端-网站构建从零开始
  • 原文地址:https://www.cnblogs.com/tutubaobao/p/10137535.html
Copyright © 2011-2022 走看看