IntelliJ IDEA中Maven操作窗口的命令详解/Maven命令详解/Maven生命周期命令详解

文章目录

  • 生命周期命令简介
  • 命令详解
    • test
    • package
      • 命令演示
    • verify
    • install
      • 将当前项目放到 Maven 的本地仓库中,供其他项目使用
      • 将自己打包或者下载的 jar/war 文件复制到本地仓库中,供其他模块使用
    • site
    • deploy

生命周期命令简介

在 Maven 中,项目构建都是有生命周期的,每个项目拥有三套独立的生命周期,而每套生命周期又包含多个阶段,这些阶段在执行的时候是有固定顺序的,后面的阶段一定要等前面的阶段执行完成后才能被执行。每个阶段都对应着一个执行指令,也叫生命周期命令。所以执行某个生命周期阶段指令时,会将该指令所对应的阶段之前的所有阶段都执行完。

比如 clean 生命周期,它就包含 pre-clean、clean 和 post-clean 三个阶段。用户调用 pre-clean 时,只有 pre-clean 阶段被执行;调用 clean 时,先执行 pre-clean,再执行 clean 阶段;同理,当调用 post-clean 时,Maven 自动先执行 pre-clean、再执行 clean,最后执行 post-clean。

再比如,你执行命令 mvn install,其实就是执行到生命周期中的 install 阶段,那么会将之前的生命周期阶段按顺序完成,所以执行 mvn install 就包含了:构件的验证、初始化、源文件编译、资源文件的处理、测试、打包、集成测试等阶段的执行任务。具体执行的阶段如下:

validate
initialize
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
pre-integration-test
integration-test
post-integration-test
verify
install

生命周期详解参阅《Maven项目的生命周期》。

命令详解

test

执行 src/test/java/ 下的junit的测试用例

执行命令如下:

mvn test

执行生命周期阶段 test,底层会去调用绑定的插件来完成测试任务,test 阶段默认会执行什么插件,可以配置。

执行具体指定的测试方法:

mvn test -Dtest=EmployeeDAOJdbcImplTest#testFindAll;

注意:等号 = 前后不允许出现空格。

执行具体指定的测试用例:

mvn test -Dtest=EmployeeDAOJdbcImplTest;

执行多个测试用例可以用逗号分开:

mvn test -Dtest=App2Test,AppTest;

package

将项目打成 war 包或者 jar 包,取决于项目的 pom.xml 中关于项目的打包类型的设置,如下所示:
在这里插入图片描述

命令演示

通过命令终端进入 pom.xml 所在的目录下,然后执行 clear 命令,将目录 target 清除掉:

mvn clear

接着执行打包命令:

mvn package

打包命令执行后,会在项目根目录下自动生成目录文件 target,打开该目录可以看到如下的内容:
在这里插入图片描述

verify

install

将当前项目放到 Maven 的本地仓库中,供其他项目使用

在这里插入图片描述

将自己打包或者下载的 jar/war 文件复制到本地仓库中,供其他模块使用

打开终端,切换到 pom.xml 所在目录下,执行下面的命令将 ojdbc-10.2.0.4.0.jar 安装到本地的 Maven 仓库中:

mvn install:install-file -Dfile="D:\Program Files\mvn\ojdbc-10.2.0.4.0.jar" 
-DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar

jar 包的 GAV 信息可以解压 jar 包查看,也可以通过在线资源搜索网站进行查看,例如:https://mvnrepository.com/。

site

在命令终端中,进入 pom.xml 所在的目录(其实就是项目/模块根目录)下,然后执行下面的命令:

[~/documents/IdeaProjects/demo02]$ mvn site
[INFO] Scanning for projects...
[INFO] 
[INFO] -------------------------< com.example:demo02 >-------------------------
[INFO] Building demo02 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-site-plugin:3.9.0:site (default-site) @ demo02 ---
[INFO] configuring report plugin org.apache.maven.plugins:maven-project-info-reports-plugin:3.1.2
[INFO] 15 reports detected for maven-project-info-reports-plugin:3.1.2: ci-management, dependencies, dependency-info, dependency-management, distribution-management, index, issue-management, licenses, mailing-lists, modules, plugin-management, plugins, scm, summary, team
[INFO] Rendering site with default locale English (en)
[WARNING] No project URL defined - decoration links will not be relativized!
[INFO] Rendering content with org.apache.maven.skins:maven-default-skin:jar:1.3 skin.
[INFO] Generating "Dependencies" report  --- maven-project-info-reports-plugin:3.1.2:dependencies
[INFO] Generating "Dependency Information" report --- maven-project-info-reports-plugin:3.1.2:dependency-info
[INFO] Generating "Distribution Management" report --- maven-project-info-reports-plugin:3.1.2:distribution-management
[INFO] Generating "About" report         --- maven-project-info-reports-plugin:3.1.2:index
[INFO] Generating "Plugin Management" report --- maven-project-info-reports-plugin:3.1.2:plugin-management
[INFO] Generating "Plugins" report       --- maven-project-info-reports-plugin:3.1.2:plugins
[INFO] Generating "Summary" report       --- maven-project-info-reports-plugin:3.1.2:summary
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.732 s
[INFO] Finished at: 2022-01-25T21:47:41+08:00
[INFO] ------------------------------------------------------------------------

构建项目说明的站点,构建成功后,你可以在 target 目录下看到如下两个目录文件:
在这里插入图片描述

在这里插入图片描述
执行这个命令需要以下两个插件:
在这里插入图片描述

deploy

将打包的工件发布到远程的服务器,供其他人员下载使用。
将最终版本的包拷贝到远程的 repository,使得其他的开发者或者工程可以共享。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332169.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Apache POI 向xlsx写入数据

【0】写在前面 0.1&#xff09; these codes are from 基于Apache POI 的向xlsx写入数据0.2&#xff09; this idea is from http://cwind.iteye.com/blog/2187670 , adding some comments for easy understanding proves to be my work. package com.cwind.poi; import jav…

javafx 打开新窗口_新的JMetro JavaFX 11兼容版本

javafx 打开新窗口你好&#xff0c;我们又见面了&#xff01; 这次&#xff0c;新版本与JavaFX 11兼容。 继续阅读以获取详细信息。 JMetro 8.5.7和11.5.7版本 JMetro代码已分为2个分支。 master分支具有Java 8兼容的JMetro版本&#xff0c;“ 11”分支具有Java 11兼容的版本…

后勤管理系统_充满“智慧”的后勤管理系统是什么样的?

▲2020年4月7日&#xff0c;亿力信息公司部署的后勤管理系统二期上线试运行&#xff0c;技术人员在现场指导用户进行系统的基本操作后勤管理系统二期全面提升管理效能近日&#xff0c;亿力信息公司承接部署的后勤管理系统二期已上线试运行&#xff0c;通过贯穿资产全寿命周期的…

Final Cut Pro 在视频的多个地方同时打马赛克

文章目录使用风格化效果中的像素化或者模糊效果使用风格化效果中的删减效果让马赛克显示一段时间后消失使用风格化效果中的像素化或者模糊效果 像素化和模糊效果是将整个视频画面都像素化和模糊化&#xff0c;所以如果你要将画面中的某个部分打马赛克&#xff0c;其实这样的效…

亚麻纤维截面形态_天然丝纤维蚕丝

点击蓝字 关注我们我国是蚕丝的发源地。近年来&#xff0c;对出土文物的考古研究指出&#xff0c;蚕丝在我国已有六千多年的历史。柞蚕丝也起源于我国&#xff0c;根据历史记载&#xff0c;已有三千多年的历史。远在汉、唐时代&#xff0c;我国的丝绸就畅销于中亚和欧洲各国&am…

jep122_JEP 358:有用的NullPointerExceptions

jep122在文章“ 更好的默认NullPointerException消息是否会传入Java&#xff1f; ”&#xff0c;我总结了当时与JEP 草案有关的背景细节&#xff0c;有关使某些类型的NullPointerException &#xff08;NPE&#xff09;消息更有用。 上周很高兴看到该JEP现在是候选 JEP &#x…

目录、文件夹、文件三者的区别

目录也是文件&#xff0c;是一种特殊文件&#xff0c;叫目录文件&#xff0c;简称目录。 目录是文件系统对象&#xff0c;属于文件系统的概念 术语目录指的是文档文件和文件夹的结构化列表存储在计算机上的方式。它与包含姓名、号码和地址列表的电话簿相当&#xff0c;并且不包…

基于Apache POI 从xlsx读出数据

【0】写在前面 0.1&#xff09; these codes are from 基于Apache POI 的从xlsx读出数据0.2&#xff09; this idea is from http://cwind.iteye.com/blog/2187670 , adding some comments for easy understanding proves to be my work. package com.cwind.poi; import jav…

toarray方法_机器学习中类别变量的编码方法总结

作者&#xff1a;louwill&#xff1b;转载自&#xff1a;机器学习实验室在做结构化数据训练时&#xff0c;类别特征是一个非常常见的变量类型。机器学习中有多种类别变量编码方式&#xff0c;各种编码方法都有各自的适用场景和特点。本文就对机器学习中常见的类别编码方式做一个…

java实现可选形参_Java:可选的可选实现

java实现可选形参类java.util.Optional被实现为单个不可变的具体类&#xff0c;该类在内部处理两种情况。 一个有元素&#xff0c;一个没有元素。 让Optional作为一个接口并让两个不同的实现代替实现该接口不是更好的选择吗&#xff1f; 毕竟&#xff0c;这就是我们通常被教导要…

MySQL数据库的JSON数据类型详解

文章目录JSON 数据类型意义存储JSON串修改JSON串中指定字段的值查询 JSON 串中的数据查询 JSON 串中指定字段的值特殊语法精确查询嵌套精确查询模糊查询优化 JSON 查询处理 JSON 数据的常用函数JSON_CONTAINS_PATHJSON_PRETTY总结参考资料JSON 数据类型意义 其实&#xff0c;没…

高特权级代码段转向低特权级代码段(利用 ret(retf) 指令实现 jmp from ring0 to ring3)

【0】写在前面 0.1&#xff09;本代码旨在演示 从 ring0 转移到 ring3&#xff08;即&#xff0c;从高特权级 转移到 低特权级&#xff09;0.2&#xff09;本文 只对 与 门相关的 代码进行简要注释&#xff0c;言简意赅&#xff1b;0.3&#xff09;文末的个人总结是干货&#…

aws 删除ec2实例_如何在AWS中启动EC2实例

aws 删除ec2实例你好朋友&#xff0c; 在本教程中&#xff0c;我们将看到如何立即在AWS中旋转EC2实例。 您应该有权访问AWS控制台。如果您还没有AWS账户&#xff0c;则可以单击此处并在AWS上创建免费套餐。 如何在AWS中启动EC2实例 第1步 &#xff1a; 使用您的凭证登录到您…

python足球射门小游戏_足球射门游戏教案

足球射门游戏教案【篇一&#xff1a;足球射门游戏教案】足球游戏教案任课教师&#xff1a;张旭授课班级&#xff1a;初二(1)班第1次课上课时间&#xff1a;2008-12-1人数&#xff1a;50男(30)女(20)指导教师&#xff1a;彭老师1.运球接力1.足球运球类游戏{ 2.传球射门3.足球打靶…

jQuery 1.9版本之后函数toggle()的轮流执行事件监听器功能被舍弃掉了

文章目录实现隐藏与显示相互切换的效果可以恢复函数 toggle 轮流执行事件监听器的功能toggle()方法主要有两个功能&#xff0c;一是用于绑定两个或多个事件处理器函数&#xff0c;在元素被点击时轮流执行&#xff1b;二是切换元素的显隐状态&#xff0c;如果元素是可见的&#…

不同特权级间代码段的跳转{ 门 + 跳转(jmp + call) + 返回(ret) }

【0】写在前面 0.1&#xff09;我们讲 CPU的保护机制&#xff0c;它是可靠的多任务运行环境所必须的&#xff1b;0.2&#xff09; CPU保护机制&#xff1a;分为段级保护 页级保护&#xff1b; 0.2.1&#xff09;段级保护分为&#xff1a;段限长 limit 检查、段类型 type 检查…

精打细算油盐_Java:ChronicleMap第1部分,精打细算

精打细算油盐用数百万个对象填充HashMap会很快导致诸如内存使用效率低下&#xff0c;性能低下和垃圾回收等问题。 了解如何使用堆外CronicleMap &#xff0c;其中可以包含数十亿个对象&#xff0c;而对堆的影响很小或没有。 当我们要使用中小型数据集时&#xff0c;内置的Map实…

日志服务器搭建及配置_[ELK入门到实践笔记] 一、通过rsyslog搭建集中日志服务器...

ELK 是elastic公司提供的一套完整的日志收集以及展示的解决方案&#xff0c;这是我在ELK学习和实践过程写下的笔记&#xff0c;整理成了一个ELK入门到实践的系列文章&#xff0c;分享出来与大家共勉。本文为该系列文章的第一篇&#xff0c;通过rsyslog搭建集中日志服务器&#…

JavaScript(JS)调用事件监听器(事件处理函数/事件处理程序/事件监听函数)时如何传递参数

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>事件的演示代码</title></head> <body> <input id"bt" type"button" value"test"> <scrip…

x86 的 TSS 任务切换机制

转自&#xff1a;http://blog.chinaunix.net/uid-587665-id-2732907.html 【0】写在前面segment descriptors 构建保护模式下的最基本、最根本的执行环境。system descriptors 则构建保护模式下的核心组件&#xff1a;&#xff11;、TSS descriptor 提供硬件级的进程切换机制&a…