项目构建之maven篇:6.生命周期与插件

项目生命周期

清理

初始化

编译

测试

打包

部署

三套生命周期

1、clean
   pre-clean  执行一些需要在clean之前完成的工作
   clean  移除所有上一次构建生成的文件
   post-clean  执行一些需要在clean之后立刻完成的工作
2、compile
  validate
  generate-sources
  process-sources
  generate-resources
  process-resources     复制并处理资源文件,至目标目录,准备打包。
  compile     编译项目的源代码。
  process-classes
  generate-test-sources
  process-test-sources
  generate-test-resources
  process-test-resources     复制并处理资源文件,至目标测试目录。
  test-compile     编译测试源代码。
  process-test-classes
  test     使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
  prepare-package
  package     接受编译好的代码,打包成可发布的格式,如 JAR 。
  pre-integration-test
  integration-test
  post-integration-test
  verify
  install     将包安装至本地仓库,以让其它项目依赖。
  deploy     将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
3、site
  pre-site     执行一些需要在生成站点文档之前完成的工作
  site    生成项目的站点文档
  post-site     执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
  site-deploy     将生成的站点文档部署到特定的服务器上

命令行与生命周期

mvn clean:调用clean生命周期的clean阶段
mvn test:调用default生命周期的test阶段
mvn clean install:调用clean生命周期的clean阶段和调用default生命周期的install阶段
mvn clean deploy:调用clean生命周期的clean阶段和调用default生命周期的deploy阶段

插件目标

maven核心仅仅定义了抽象的生命周期,具体任务由插件来完成

插件由多个目标来组成

内置插件绑定

自定义绑定

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.8</version>
        <executions>
          <execution>
            <!--指定在哪个阶段后执行目标-->
   <phase>test</phase>
            <goals>
   <!--执行的目标-->
              <goal>tree</goal>
            </goals>           
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

命令行插件配置

  mvn install -Dmaven.test.skip=true

参数 -D 是java自带的,通过命令行设置一个java系统属性

项目构建之maven篇:6.生命周期与插件,布布扣,bubuko.com

时间: 2024-08-02 11:04:33

项目构建之maven篇:6.生命周期与插件的相关文章

项目构建之maven篇:2.HelloWorld项目构建过程

文件结构说明: 项目构建生命周期: 清理 编译 测试 打包 运行 部署 清理与编译 hello\pom.xml POM:Project Object Model,项目对象模型 pom.xml与ant的build.xml类似 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat

项目构建之maven篇:1.环境搭建

maven下载: 下载地址 设置环境变量 查看安装成功 mvn -version 设置本地仓库 存放从中央仓库或私服中下载依赖包,自定义的项目使用install命令,安装到本地仓库中,供其它项目依赖 apache-maven-3.0.5\conf\settings.xml 项目构建之maven篇:1.环境搭建,布布扣,bubuko.com

项目构建之maven篇:5.仓库及nexus创建私服-1

依赖坐标与本地仓库存储 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.7.RELEASE</version> </dependency> 本地仓库存储 仓库分类: 本地仓库: <localRepository>F:\maven\repos<

项目构建之maven篇:8.maven发布web工程及基于spring mvc,jetty实现的用户管理demo

web工程目录结构 pom/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/xsd/maven-4.0.0.xsd&qu

项目构建之maven篇:3.m2eclipse使用

m2eclipse的安装 略 设置maven目录 设置用户个性化的maven配置 导入maven工程 源代码下载 运行命令 运行订制命令: mvn clean install或 mvn clean compile 可以自己订制 新建maven工程 新建一个Hello.java并运行 install命令 项目构建之maven篇:3.m2eclipse使用,布布扣,bubuko.com

项目构建之maven篇:5.仓库及nexus创建私服-2

下载安装 下载地址 修改默认端口: home\conf\nexus.properties # Sonatype Nexus # ============== # This is the most basic configuration of Nexus. # Jetty section application-port=9080 application-host=0.0.0.0 nexus-webapp=${bundleBasedir}/nexus nexus-webapp-context-pa

项目构建之maven篇:4.坐标与依赖及spring依赖注入demo

源代码下载 坐标 <groupId>com.demo.animal</groupId> <artifactId>animal-core</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> groupId:定义当前maven项目隶属的实际项目 artifactId:定义实际项目中的一个maven项目(模块),推荐实际项

项目构建之maven篇:7.聚合与继承

聚合: 为方便项目构建,通常将聚合模块放在项目目录的最顶层,其他模块则作为聚合模块的子目录存在, 这样我们得到源码的时候,最快发现的是聚合模块的pom 运行命令 查看结果 源代码下载 继承 创建parent项目,用于被继承 parent/pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Maven整理笔记の生命周期和插件

项目构建的生命周期,其实软件开发人员每天都在干这个事,即项目清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等,可以说几乎所有项目的构建都可以映射到这样一个生命周期上. Maven的插件机制是完全依赖Maven的生命周期的. 三套生命周期 Maven的生命周期并不是一个整体,Maven拥有三套独立的生命周期,它们分别是clean\default\site.Clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site的生命周期的目的是建立项目站点. 每个生命