Maven的生命周期/常用命令/pom.xml标签 一时失言乱红尘 2024-04-19 10:18 78阅读 0赞 ### 一、Maven的生命周期 ### 一个项目的构建过成通常包括清理、编译、测试、打包、集成测试、验证、部署等。Maven从中抽取了一套完善的、易扩展的生命周期。 Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务编写并绑定了默认的插件。 **1、Maven的内部有三个构建生命周期:**分别是 clean、default、site,每个生命周期都包含了一些阶段(phase)。 三个构建生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase。执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase。 ![20190917103035967.png][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 1][] ### 二、Maven的常见命令 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 2][] validate:验证项目是正确的,所有必要的信息都是可用的 compile:编译项目的源代码 test:使用适当的单元测试框架测试编译后的源代码。这些测试不应要求将代码打包或部署 package:使用已编译的代码,并将其打包成可分布格式,例如JAR。 verify:对集成测试的结果进行任何检查,以确保满足质量标准 install:将包安装到本地存储库中,以便在本地其他项目中使用该包 deploy:在构建环境中完成,将最终的包复制到远程存储库中,以便与其他开发人员和项目共享。 这些生命周期阶段(加上这里没有显示的其他生命周期阶段)是按顺序执行的,以完成默认的生命周期。鉴于上面的生命周期阶段,这意味着当使用默认的生命周期时,Maven将会优先执行检查项目(validate),然后将会尝试编译源代码(compile),运行集成测试方案(test),验证了集成测试(verify),验证包安装到本地存储库(install),然后将安装包部署到远程存储库(deploy)。 ** 参考文章:**[Maven常用命令详解][Maven] ### 三、Maven POM ### POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了整个项目的基本信息,如何构建项目、项目依赖的jar包等。 执行任务或目标时,Maven会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。 **参考文章:** [pom.xml标签大全详解--菜鸟教程][pom.xml_--] ### 四、创建一个Maven项目简单测试命令 ### **1、创建Maven项目(Jar包)** 1)创建一个简单 Maven项目目录相对完整(推荐) 若需额外的文件目录自己手动创建就好了,不推荐使用模板创建maven项目。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 3][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 4][] 2)pom.xml,引入junit 做测试 <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"> <!-- 模型版本。maven2.0必须是这样写,现在是maven2唯一支持的版本 --> <modelVersion>4.0.0</modelVersion> <!-- 公司或组织的唯一标志(包结构),并且配置时生成的路径也是由此生成 --> <groupId>cn.jq.mavenjar</groupId> <!-- 项目名称,一个groupId下若有多个项目,通过artifactId来区分 --> <artifactId>mavenjar</artifactId> <!-- 本项目/工程的版本号 snopshot: 处于开发阶段的测试版本,不稳定的 release: 发布版本,稳定的 --> <version>0.0.1-SNAPSHOT</version> <!-- 打包机制:jar(普通java工程,默认可省略),war(web工程),pom(父工程) --> <packaging>jar</packaging> <!-- 定义本项目的依赖关系 --> <dependencies> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> </project> 2、Hello类与测试类,简单测试 ![20190917120014942.png][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 5][] ### 3、[Eclipse中执行 maven命令][Eclipse_ maven] ### **1)compile**:编译源代码(只编译main下的java文件),即target下会生成编译文件 **2)test**:运行项目中的单元测试 ![20190917115952722.png][] **3)package**:根据项目生成jar/war文件,即target下会生成jar文件 ![20190917115905846.png][] **4)install:**将开发的模块放到本地仓库中(位置有gav决定),供其他模块使用 ![20190917141256407.png][] **5)clean:**清除目标目录中的生成结果。即清除target下会生成的所有文件 站在前辈的肩膀上,每天进步一点点 ends~ [20190917103035967.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/c3ec2879778445fb85632805a0969ab2.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/47c17cb27ce84bf2885f0b819a6bb83e.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 1]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/f1c380dec83d4f26bbde3d24aeb35e25.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 2]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/5a8d2fe19792447eabe3a9c5f13ef4bb.png [Maven]: https://www.cnblogs.com/wkrbky/p/6352188.html [pom.xml_--]: https://www.runoob.com/maven/maven-pom.html [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 3]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/8415c754db134a6fb855fef55b4612aa.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 4]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/108ca7eb7a4f49c8b9c63f204fda89bc.png [20190917120014942.png]: https://img-blog.csdnimg.cn/20190917120014942.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDAyODU0_size_16_color_FFFFFF_t_70 5]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/1390bc2e0e3d4f46b300b741914fa465.png [Eclipse_ maven]: https://blog.csdn.net/u011939453/article/details/43017865 [20190917115952722.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/062197d538374ac79cadeced16575272.png [20190917115905846.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/20a2565a3a034c08b04f871ccfcec535.png [20190917141256407.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/04/18/43539fa4e6c94d21bd7477e9ce0aebd0.png
相关 Maven的生命周期/常用命令/pom.xml标签 一、Maven的生命周期 一个项目的构建过成通常包括清理、编译、测试、打包、集成测试、验证、部署等。Maven从中抽取了一套完善的、易扩展的生命周期。... 一时失言乱红尘/ 2024年04月19日 10:18/ 0 赞/ 79 阅读
相关 Maven 常用命令与生命周期 常用命令 mvn clean > compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 t ゞ 浴缸里的玫瑰/ 2023年06月17日 15:58/ 0 赞/ 30 阅读
相关 Maven的常用命令与生命周期 清理命令:clean 把根目录下的target目录进行删除 ![在这里插入图片描述][20200620152253856.png] 编译命令 compile 把文件进行 野性酷女/ 2023年02月19日 11:29/ 0 赞/ 10 阅读
相关 maven的生命周期 一、Maven的生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步 快来打我*/ 2022年06月16日 12:36/ 0 赞/ 207 阅读
相关 Maven的生命周期 maven对项目构建过程分为三套相互独立的生命周期,注意这里说的是“三套”,而且“相互独立”。 Clean Lifecycle:在进行真正的构建之前进行一些清理工作。 绝地灬酷狼/ 2022年06月09日 08:55/ 0 赞/ 197 阅读
相关 maven(一)简介、常用命令及生命周期 1、maven简介 Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project L 末蓝、/ 2022年06月06日 11:59/ 0 赞/ 180 阅读
相关 【Maven】——Maven生命周期以及基本命令 前提 在这几年的项目中maven使用的非常多,主要是系统的整理一下,一方面是查漏补缺,另一方面是希望可帮助正在学习这一步的朋友。maven的概要请见[【Maven 蔚落/ 2022年05月29日 01:05/ 0 赞/ 220 阅读
相关 Maven的生命周期 前一段时间接到东华软件的电话面试,面试官问到了这个问题,顿时有点懵.虽然面试顺利通过了,后来还是仔细研究了这个问题.在这里记录一下. Maven有三套生命周期,分别是clea 落日映苍穹つ/ 2022年05月23日 13:49/ 0 赞/ 201 阅读
相关 Maven 基础命令与生命周期 前言 前面几章,我们介绍了Maven的安装和使用方法.本章开始,我们介绍下,如何使用Maven来完成我们需要的打包操作. -------------------- 落日映苍穹つ/ 2022年03月09日 09:27/ 0 赞/ 238 阅读
还没有评论,来说两句吧...