当前位置: 首页 > news >正文

【Maven】Maven的常用命令

目录

一、Maven的常用命令

1、compile 编译命令

 2、test 测试命令

 3 、clean 清理命令

4、package 打包命令

5、 install 安装命令

6、Maven 指令的生命周期

二、maven 的概念模型

💟 创作不易,不妨点赞💚评论❤️收藏💙一下


一、Maven的常用命令

我们可以在cmd 中通过一系列的 maven 命令来对我们的 maven-helloworld 工程进行编译、测试、运行、打包、安装、部署。

1、compile 编译命令

compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下。
cmd 进入命令状态,执行mvn compile,如下图提示成功:

 查看 target 目录,class 文件已生成,编译完成。

 2、test 测试命令

test 是 maven 工程的测试命令 mvn test,会执行src/test/java下的单元测试类。
cmd 执行 mvn test 执行 src/test/java 下单元测试类,下图为测试结果,运行 1 个测试用例,全部成功。

 3 、clean 清理命令

clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容

4、package 打包命令

package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于web 工程打成war包。

5、 install 安装命令

install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。
从运行结果中,可以看出:当后面的命令执行时,前面的操作过程也都会自动执行,

6、Maven 指令的生命周期

maven 对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”。
这三套生命周期分别是:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
Site Lifecycle 生成项目报告,站点,发布站点。

命令说明
mvn clean清除target目录
mvn compile编译main目录
mvn test执行所有的测试方法
mvn package打包当前的项目到target目录
mvn install打包并且发布到本地仓库

二、maven 的概念模型

Maven 包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

  •  项目对象模型 (Project Object Model)

一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的坐标、项目依赖、项目信息、插件目标等。

  •  依赖管理系统(Dependency Management System)

通过 maven 的依赖管理对项目所依赖的 jar 包进行统一管理。比如:项目依赖 junit4.9,通过在 pom.xml 中定义 junit4.9 的依赖即使用 junit4.9,如下所示是 junit4.9的依赖定义:
 

<!-- 依赖关系 -->
<dependencies><!-- 此项目运行使用 junit,所以此项目依赖 junit --><dependency><!-- junit 的项目名称 --><groupId>junit</groupId><!-- junit 的模块名称 --><artifactId>junit</artifactId><!-- junit 版本 --><version>4.9</version><!-- 依赖范围:单元测试时使用 junit --><scope>test</scope></dependency>
<dependencies>
  • 一个项目生命周期(Project Lifecycle)

使用 maven 完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven 将这些
过程规范为一个生命周期,如下所示是生命周期的各各阶段:

 maven 通过执行一些简单命令即可实现上边生命周期的各各过程,比如执行 mvn compile 执行编译、执行 mvn clean 执行清理。

  • 一组标准集合

maven将整个项目管理过程定义一组标准,比如:通过 maven 构建工程有标准的目录结构,有标准的生命周期阶段、依赖管理有标准的坐标定义等。

  • 插件(plugin)目标(goal)

maven 管理项目生命周期过程都是基于插件完成的。


写到最后

四季轮换,已经数不清凋零了多少, 愿我们往后能向心而行,一路招摇胜!

🐋 你的支持认可是我创作的动力

💟 创作不易,不妨点赞💚评论❤️收藏💙一下

😘 感谢大佬们的支持,欢迎各位前来不吝赐教

http://www.lryc.cn/news/40044.html

相关文章:

  • python的循环结构
  • 五种Python中字典的高级用法
  • [蓝桥杯单片机]——八到十一届初赛决赛客观题
  • 多线程(初阶)
  • 【Vue从入门到进阶】Node.js安装与配置
  • python 正则使用详解
  • 一个深度学习项目需要什么
  • 【Java进阶篇】—— 常用类和基础API
  • 手敲Mybatis(六)-反射工具天花板
  • 内含18禁~~关于自学\跳槽\转行做网络安全行业的一些建议
  • 春分策划×运维老王主讲:CMDB数据运营精准化公开课启动报名啦!
  • 制作INCA和CANape通用的A2L
  • Python人脸识别
  • 我用Python写了一个下载网站所有内容的软件,可见即可下,室友表示非常好用
  • 【M365运维】扩充OneDrive存储空间
  • hashcat(爆破工具,支持GPU,精)
  • 【机器学习】什么是监督学习、半监督学习、无监督学习、自监督学习以及弱监督学习
  • HashiCorp packer 制作AWS AMI镜像示例
  • 【java基础】根据泛型动态构造jackson的TypeReference(json反序列化为带泛型的类的对象)
  • 为什么VMware会给我多创建了两个网络呢?Windows和Linux为什么可以彼此ping的通呢
  • 服务器带宽承载多少人同时访问计算方法-浏览器中查看当前网页所有资源数据大小-客服系统高并发承载人数【唯一客服】...
  • 给新手----编译VSOMEIP保姆级别教程
  • MarkDown设置上下标
  • Python批量爬取游戏卡牌信息
  • 什么是PCB走线的3W原则
  • 计算机网络面试总结
  • VsCode SSH远程连接服务器【内网穿透公网连接】
  • 十八、动画与canvas
  • 自动化测试学习-Day4-selenium的安装和8种定位方法
  • 【Kubernetes】第二十五篇 - 布署 nodejs 后端项目(下)