zoukankan      html  css  js  c++  java
  • Maven的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/maven-v4_0_0.xsd">
        <!--指定了当前pom的版本,4.0.0是固定的 -->
        <modelVersion>4.0.0</modelVersion>
     
        <!-- 主项目标识,用来定义当前maven属于哪个实际的项目 -->
        <groupId>反写的公司网址 + 项目名</groupId>
        <!-- 模块名,maven项目和实际的项目不是一一对应的关系,maven项目提现的是模块化的概念,一个实际项目往往会被划分为很多个模块 -->
        <artifactId>项目名 + 模块名</artifactId>
        <!-- 当前项目版本号,一般有三个数字组成 第一个数字:大版本号 第二个数字:分支版本号 第三个数字:先版本号 snapshot: 快照 alpha: 
            内测版本 beta: 公测版本 Release: 稳定版本 GA: 正式发布版本 -->
        <version>0.0.1snapshot</version>
        <!-- maven项目打包方式,默认情况为jar,还可打包为war,zip,pom等 -->
        <packaging></packaging>
        <!-- 项目描述名 -->
        <name></name>
        <!-- 项目地址 -->
        <url></url>
        <!-- 项目描述 -->
        <description></description>
        <!-- 开发人员列表 -->
        <developers></developers>
        <!-- 许可证信息 -->
        <licenses></licenses>
        <!-- 组织信息 -->
        <organization></organization>
     
        <!-- 依赖列表 -->
        <dependencies>
            <!-- 依赖项目 -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <type></type>
                <!-- 依赖范围,控制依赖与三种依赖范围的关系 -->
                <!-- 开发中要使用某一个jar,就要将该jar包引入到项目的classpath中 -->
                <!-- maven提供了三种classpath: 1.编译 2.测试 3.运行 -->
                <!-- 下面的test表明junit只存在于测试的classpath中 -->
                <!-- maven为scope提供了六个属性:
                                        compile(默认,编译测试运行都有效), 
                                        provided(编译和测试)servlet, 
                                        runtime(测试和运行)jdbc, 
                                        test(测试)junit, 
                                        system(编译和测试,与本机系统相关联,可移植性差), 
                                        import(导入的范围,只使用在dependencyManagerment中,表示从其他的pom中导入dependency的配置) -->
                <scope>test</scope>
                <!-- 设置依赖是否可选 -->
                <!-- 有两个值,true和false,默认是false,继承,若为true,子项目必须显式的引用该依赖 -->
                <optional></optional>
                <!-- 排除依赖传递的列表 -->
                <exclusions>
                    <exclusion>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
     
        <!-- 依赖管理 -->
        <dependencyManagement>
            <!-- 这里定义的依赖不会被运行,即不会被引用为实际的依赖,主要是供子模块集成用 -->
            <dependencies>
                <dependency></dependency>
            </dependencies>
        </dependencyManagement>
     
        <!-- 为构建行为提供相应的支持 -->
        <build>
            <!-- 插件列表 -->
            <plugins>
                <!-- 插件 -->
                <plugin>
                    <groupId></groupId>
                    <artifactId></artifactId>
                    <version></version>
                </plugin>
            </plugins>
        </build>
     
        <!-- 用于子模块中对于父模块的继承 -->
        <parent></parent>
        <!-- 聚合运行多个maven项目 -->
        <modules>
            <module></module>
        </modules>
     
    </project>
  • 相关阅读:
    使用java.util.Timer来周期性的执行制定的任务
    Android中为APP创建快捷方式的原理(自己的理解)
    View.setTag()的作用
    用3种方法在 operator= 中处理“自我赋值”
    关于 const 成员函数
    复制构造函数 与 赋值操作函数
    Command 模式
    Mediator 模式
    求一棵普通树的两个结点的最低公共祖先
    Memento 模式
  • 原文地址:https://www.cnblogs.com/q1359720840/p/10465933.html
Copyright © 2011-2022 走看看