Maven pom.xml文件配置及说明

pom(Project Object Model)指的是项目对象模型,用来描述当前的maven项目。使用pom.xml文件来实现。

<?xml version="1.0" encoding="UTF-8"?>
<!--pom文件的根节点-->
<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">

    <!--声明项目描述符遵循哪一个POM模型版本。模型本身的版本很少改变,虽然如此,但它仍然是必不可少的,目前POM模型版本是4.0.0-->
    <modelVersion>4.0.0</modelVersion>

    <!--Maven坐标 通过下面三个参数我们就能够确定一个唯一版本号的jar包-->
    <groupId>com.csn.maven</groupId> <!--定义当前项目(jar包)隶属的实际项目组-->
    <artifactId>maven-javaweb</artifactId> <!--定义当前项目(jar包)的名称-->
    <version>1.0-SNAPSHOT</version> <!--定义当前项目(jar包)的版本号-->

    <!--指定打包格式-->
    <packaging>war</packaging>

    <!--依赖导入
        从本地仓库中导入(注意:只能搜索到已下载到本地的jar包
        IDEA中给我们提供了一种搜索jar包的方式,帮助我们快速导入jar包。使用方法如下:
        第一步:鼠标光标移入到在pom.xml文件中,按Alt+Insert键。会弹出一个选择框
        第二步:选择Dependency后会弹出一个搜索框:输入要添加的jar包的名字
        第二步:选择需要的jar包后按回车键即可自动添加此依赖

        本地的jar包不存在maven会帮我们从私服或中央仓库中下载该依赖
        搜索依赖坐标的方法:
        中央仓库中查找:http://mvnrepository.com/
        私服阿里云查找:<https://maven.aliyun.com/mvn/search
        找到坐标复制到pom文件中即可
    -->

    <!--*依赖版本维护*-->

    <!--如果pom文件中引入的依赖太多,各种依赖又有不同的版本,为了统一维护版本
        我们可以将依赖的版本号抽取出来进行统一管理。抽取方法如下:
        第一步 :在pom.xml中使用<propeties>属性定义jar包的版本
        第二步 :在依赖的<version>中使用${}引入前面定义好的版本
    好处:方便对项目中使用的jar包版本的统一管理。
    -->
    <properties>
        <junit.version>4.12</junit.version>
        <mybatis.version>3.2.8</mybatis.version>
    </properties>

    <!--web项目所依赖的jar包坐标-->
    <dependencies>

        <!--junit4.12-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

        <!--mybatis3.2.8-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
        </dependency>

        <!--servlet3.0-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
            <scope>provided</scope>
        </dependency>

        <!--commons-beanutils-->
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.8.3</version>
        </dependency>

        <!--commons-logging-->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>

        <!--jstl-->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <!--mysql驱动5.1.18-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.18</version>
            <scope>runtime</scope>
        </dependency>

        <!--slf4j1.6.4-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.4</version>
        </dependency>
    </dependencies>

    <!-- 依赖范围设置 (<scope>标签说明)
         依赖的jar默认情况可以在任何地方可用,可以通过<scope>标签设定其作用范围
         这里的范围主要是指以下三种范围
            (1)主程序范围有效(src/main目录范围内)
            (2)测试程序范围内有效(src/test目录范围内)
            (3)是否参与打包(package指令范围内)
         标签的取值有四种:compile,test,provided,runtime
            compile(默认): 主程序范围有效,测试程序范围内有效,参与打包  eg(log4j)
            test:          测试程序范围内有效   eg(junit)
            provided:      主程序范围有效,测试程序范围内有效  eg(servlet-api)
            runtime:       仅参与打包   eg(jdbc)
         指定依赖范围的方法
            我们在导入依赖的时候,在<dependency>标签中使用<scope>设置即可
            compile是默认的依赖范围,可以不用写出来
    -->
</project>

【补充】

pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和licenses,以及其他所有的项目相关因素,是项目级别的配置文件

setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件

pom.xml下载

setting.xml下载

原文地址:https://www.cnblogs.com/axibug/p/14967555.html