zoukankan      html  css  js  c++  java
  • 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下载

  • 相关阅读:
    枚举转中文,通过反射方法与描述的方式获取
    PropertyGrid 重难点总结
    Image与Bitmap的区别及相互转换
    A generic error occurred in GDI+的解决方案
    C# 鼠标穿透窗体与恢复
    struts2 validate验证
    Struts2 | struts.xml文件中使用method属性和通配符简化action标签和Action处理类的编写
    struts2中struts.xml和web.xml文件解析及工作原理
    Struts2中Struts.xml的作用
    <a>标签是什么意思 怎么使用?
  • 原文地址:https://www.cnblogs.com/axibug/p/14967555.html
Copyright © 2011-2022 走看看