😀前言
在现代软件开发中,构建和管理项目成为了一个核心环节。Apache Maven 不仅仅是一个便捷的项目构建工具,它还提供了一个全面的框架来理解和掌控软件项目的构建过程。通过定义明确的构建生命周期和灵活的插件机制,它极大地简化了构建和项目管理过程。在本篇文章中,我们将深入探讨 Maven 的构建生命周期和其插件机制,通过一步步的解析来帮助你更好地理解和使用 Maven
🏠个人主页:尘觉主页
🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
在csdn获奖荣誉: 🏆csdn城市之星2名
💓Java全栈群星计划top前5
🤗 端午大礼包获得者
🥰阿里云专家博主
😉亚马逊DyamoDB结营
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊
深入探讨Maven构建生命周期及插件机制
一句话: Maven 构建生命周期描述的是一次构建过程经历了多少个事件
生命周期的3 大阶段
clean
清理工作
default
核心工作,例如编译,测试,打包,部署等
site
产生报告,发布站点等
生命周期是分阶段执行的
一句话: 项目构建生命周期分很多阶段,并不是每次都完整执行,而是根据用户的要求来执行的【比如你执行compile, 那么就执行到complie 这个阶段,如果你执行install, 则会执行compile->test->package->install】
举例说明
1、演示compile
2、演示install
maven 插件
介绍
1、插件与生命周期内的某个阶段绑定,在执行到对应生命周期时, 由对应插件来完成任务/功能.
2、maven 插件很多,先看一张图:
3、通过插件可以自定义其他功能
4、文档: http://maven.apache.org/plugins/index.html
自定义插件-应用实例
需求: 在pom.xml 加入自定义插件,能够在对maven_D 项目打包时,能输出主程序和测试程序的源码
完成步骤
- 当前package 只会得到项目的jar
- 修改D:\java_projects\maven_D\pom.xml, 加入maven 插件并配置(注意: 加入自定义插件后,可能会爆红,重启项目即可.)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
韩顺平Java 工程师
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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wyx</groupId>
<artifactId>maven_D</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<!-- 解读
1. option 默认是false , 即不隐藏
2. option 设置为true , 即隐藏-->
<optional>false</optional>
<!-- scope 设置为test, 让他在test 范围有效-->
<scope>compile</scope>
</dependency>
</dependencies>
<!--在build 时,自定义的插件-->
<build>
<plugins>
<plugin>
<!-- 插件坐标-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<!-- 对主程序输出源码打包-->
<goal>jar</goal>
<!-- 对测试程序输出源码打包-->
<goal>test-jar</goal>
</goals>
<!-- 在generate-test-resources 阶段执行-->
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
- 观察一下maven 项目管理器
- 再次执行maven-D 的intall 操作, 会得到两个新的jar ,分别包含了主程序和测试程序的源码。(说明: 测试时,需要保证src/main/… 和src/test/… 两个目录下有java 源代码,否则不会生成源码jar)
- 解压得到jar , 可以看到源码了.
maven 插件-maven 构建生命周期关系图
图解
-
在maven 项目构建生命周期中,每个阶段的执行都有相应的插件完成
-
各个插件执行过程中,会附带输出内容,比如jar/war/xml/源码
-
程序员可以使用maven 默认的插件,也可以自定义插件,完成定制任务.
-
自定义插件引入成功, 是可以看到
😄总结
通过深入解析 Maven 的构建生命周期和插件机制,我们不仅掌握了 Maven 项目构建的核心概念,也学会了如何利用插件来定制和优化我们的构建过程。我们学习了如何清理项目,理解了默认生命周期中各个阶段的职责,以及如何生成项目报告和站点。
同时,我们还详细探讨了 Maven 插件的作用和使用方式,包括如何通过配置插件来输出项目和测试的源代码,这为我们提供了一个更灵活和强大的构建工具。
希望通过本文,您不仅对 Maven 有了更深入的理解,也能够更加熟练和高效地利用 Maven 来管理和构建您的项目。记得,实践是最好的老师,不妨尝试自己创建和配置 Maven 项目,探索更多的 Maven 插件和功能,将其充分应用到您的项目中,从而更好地掌握 Maven 的强大功能。
😁热门专栏推荐
想学习vue的可以看看这个
java基础合集
数据库合集
redis合集
nginx合集
linux合集
手写机制
微服务组件
spring_尘觉
springMVC
mybits
等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持
🤔欢迎大家加入我的社区 尘觉社区文章来源:https://www.toymoban.com/news/detail-558240.html
文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞文章来源地址https://www.toymoban.com/news/detail-558240.html
到了这里,关于Maven 项目构建生命周期的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!