Maven 的生命周期

news/2024/7/4 13:23:53

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Maven的生命周期不是一个整体,而是 三套 相互独立的生命周期,分别是 clean,default,site 。每个生命周期都有各自不同的生命阶段,可以单独执行一个生命周期的某个阶段,在执行时,此生命周期该阶段的其他阶段也依赖执行。

clean生命周期:目的清理项目

阶段含义
pre-clean执行一些清理前需要完成的工作
clean清理上一次构件生成的文件
post-clean执行一些清理后需要完成的工作

default生命周期:定义真正构建所需要指向的所有步骤,是最核心的部分

阶段                  含义
validate验证工程是否正确,所有需要的资源是否可用。
initialize 
generate-sources 
process-sources

处理项目主资源文件。一般来说是对 src/main/resources

目录的内容进行变量替换工作后复制到项目输出的主classpath的目录中

generate-resources 
process-resources 
compile

编译项目的主源码。一般来说是编译 src/main/java 目录下的java

文件到项目输出的主classpath的目录中

process-classes 

generate-test-sources

 

process-test-sources

处理项目测试的资源文件 一般来说是对 src/test/resources

目录的内容进行变量替换工作后复制到项目输出的测试classpath的目录中

generate-test-resources

 

process-test-resources

 
test-compile

编译项目测试的代码。一般来说是编译 src/test/java 目录下的java

文件到项目输出测试的classpath的目录中

process-test-classes 
test使用单元测试框架的运行测试,测试代码不会被打包或者部署
prepare-package 
package接受编译好的代码,打包成可发布的格式,如JAR
pre-integration-test 
integration-test如有需要,将包处理和发布到一个能够进行集成测试的环境
post-integration-test 
verify运行所有检查,验证包是否有效且达到质量标准。
install将包安装到Maven本地仓库,供本地其他项目使用
deploy将最终的包复制到远程仓库,供其他开发人员和Maven项目使用

site 生命周期:建立和发布项目站点,Maven能够基于pom所包含的信息,自动生成一个友好的站点。

阶段含义
pre-site执行一些在生成站点之前需要完成的工作
site生成项目站点文档
post-site执行一些在生成站点之后需要完成的工作
site-deploy将生成的项目站点发布到服务器上

命令和生命周期

从命令行执行Maven任务的主要方式就是调用 Maven的生命周期阶段。各个生命周期相互独立,而一个生命周期的阶段有前后依赖关系。

常用命令

mvn clean   #清理
mvn test    #测试
mvn clean install #发布到本地仓库
mvn clean depoly site-depoly #发布到远程仓库

 

转载于:https://my.oschina.net/u/943316/blog/852195


http://www.niftyadmin.cn/n/3781843.html

相关文章

nginx把不同请求转发到不同端口的项目(统一监听80端口)

server {listen 80;server_name 127.0.0.1;access_log logs/book.log;error_log logs/book.error;#将/wx-service请求转发给http://127.0.0.1:8011/wx-service处理location /wx-service {proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_fo…

WEB前端开发中的SEO注意点

近几年来,SEO在国内得到了蓬勃的发展,其中很多的SEO技术越来越体现在web前端的一些细节上。要做好SEO,WEB前端这一块也要做必不可少的优化。 这就要求我们WEB前端工程师在开发页面的时候,要写出规范标准的代码,符合SEO…

【解剖】每日一记API—一个窗口创建的过程

2013年4月6日16:31:56大家好今天是清明节放假的最后一天明天我就要去学校了所以这几天不会更新日志了,不过星期天回家我就更新 好,我们开始一个窗口的创建有一些几个步骤注册窗口WNDCLASS wnd;//定义窗口类wnd.styleCS_HREDRAW | CS_VREDRAW;//窗口类型w…

类加载机制详解

之前在介绍JVM内存模型的时候(参看:JVM内存模型),提到了在运行时数据区之前,有个Class Loader,这个就是类加载器。用以把Class文件中的描述信息加载到内存中运行和使用。以下是《深入理解Java虚拟机第二版》…

Vue中前后端分离 出现跨域session不是同一个(跨域)

后端: package com.example.mybatisplustest.config;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer…

dutacm.club Water Problem(矩阵快速幂)

Water Problem Time Limit:3000/1000 MS (Java/Others) Memory Limit:163840/131072 KB (Java/Others)Total Submissions:1228 Accepted:121[Submit][Status][Discuss] Description 函数 f:Z→Z 。已知 f(1),f(2) 的值,且对于任意 x>1&#xff0c…

爱上MVC~ajax调用分部视图session超时页面跳转问题

回到目录 这个问题出现了很多年了,都没有解决,问题是这样的,有一个需要授权才可以访问的分部视图,在一个view中使用ajax的方法去调用它,然后更新页面的局部DIV,这时,如果你长时间不操作&#xf…

Java类加载器和双亲委派机制

前言 之前详细介绍了Java类的整个加载过程(类加载机制详解)。虽然,篇幅较长,但是也不要被内容吓到了,其实每个阶段都可以用一句话来概括。 1)加载:查找并加载类的二进制字节流数据。 2&#…