zoukankan      html  css  js  c++  java
  • Maven篇----08 pom.xml详解

    1. 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">
        <modelVersion>4.0.0</modelVersion><!-- maven的pom文件的版本 -->
     
        <groupId>cn.lonecloud</groupId><!-- 创建该项目的开发者域名 -->
        <artifactId>lonecloud</artifactId><!-- 创建指定项目的域名 -->
        <version>0.0.1-SNAPSHOT</version><!-- 该项目的版本 -->
        <packaging>jar</packaging><!-- 打包后的文件类型 -->
     
        <name>lonecloud</name><!-- 描述项目的名字 -->
        <url>http://lonecloud.cn</url><!-- 该项目的创建的网站 -->
     
        <properties><!-- 参数的枚举 -->
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <junit.version>3.8.1</junit.version><!-- 可以自定义名字用于后期维护方便 -->
        </properties>
     
        <dependencies><!-- 依赖项 -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <!-- 依赖关系 -->
            <dependency>
                <groupId>mysql</groupId><!-- 该项目的开发者的域名 -->
                <artifactId>mysql-connector-java</artifactId><!-- 指定项目的域名 -->
                <version>5.1.25</version><!-- 项目的版本 -->
                <scope>test</scope>
                <!-- 运行的生命周期 在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:
                    * compile,缺省值,适用于所有阶段,会随着项目一起发布。 * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
                    * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
                    * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它 -->
            </dependency>
        </dependencies>
    </project>
    

    2. maven生命周期

    在maven中定义了三种生命周期,分别为default lifecycle,clean lifecycle和site lifecycle.而第一种默认的生命周期是不需要与插件关联的,相对默认生命周期,则clean lifecycle和site lifecycle需要插件的支持。

    default lifecycle

    以下则是默认生命周期里按照构建的顺序列出了生命周期的各个环节,对于各个环节所表示的意思则可以从字面意思上很容易的理解:

    1.validate
    2.generate-sources
    3.process-sources
    4.generate-resources
    5.process-resources
    6.compile
    7.process-classes
    8.generate-test-sources
    9.process-test-sources
    10.generate-test-resources
    11.process-test-resources
    12.test-compile
    13.test
    14.prepare-package (maven 2.1+)
    15.package
    16.pre-integration-test
    17.integration-test
    18.post-integration-test
    19.verify
    20.install
    21.deploy
    

    clean lifecycle

    此种生命周期中包含pre-clean,clean,post-clean三个环节。例如:

    <phases>
      <phase>pre-clean</phase>
      <phase>clean</phase>
      <phase>post-clean</phase>
    </phases>
    <default-phases>
      <clean>
        org.apache.maven.plugins:maven-clean-plugin:2.5:clean
      </clean>
    </default-phases>
    

    site lifecycle
    此种生命周期中包含pre-site,site,post-site,site-deploy四个环节,例如:

    <phases>
      <phase>pre-site</phase>
      <phase>site</phase>
      <phase>post-site</phase>
      <phase>site-deploy</phase>
    </phases>
    <default-phases>
      <site>
        org.apache.maven.plugins:maven-site-plugin:3.3:site
      </site>
      <site-deploy>
        org.apache.maven.plugins:maven-site-plugin:3.3:deploy
      </site-deploy>
    </default-phases>
    
  • 相关阅读:
    Linux修改时间
    Oracle 审计文件
    system表空间
    Windows操作系统添加永久静态路由
    Linux添加永久静态路由
    如何把excel中的行转为列?
    Linux中测试网络命令
    Linux中查看网络命令
    2018.3.29 网页中嵌套网页的两种方法
    2018.3.29 div内容格式设置
  • 原文地址:https://www.cnblogs.com/liuyitan/p/13237400.html
Copyright © 2011-2022 走看看