Maven生命周期和及插件原理用法详解
作者:护花使者 发布时间:2021-09-17 09:47:19
maven周期
maven的生命周期不止package,compile,clean。其实这是主要部分。
以下截图其实展示的是maven的所有周期。
maven的生命周期,主要分为3套(其实每个生命周期下面都分为一些阶段,如上截图所示):
1、clean周期:负责清理项目(清理上一次编译的文件)。
2、default周期: 主体周期,负责完成项目构建主体过程。
3、site周期:建立站点(生成站点文档,发送站点到服务器)。
周期之间是独立的,周期内部的各个阶段是相互依赖的。
例如我执行install,这个阶段是处于default周期内部的,所以这个时候,会从最早的阶段执行到install。post-clean以及前面的是属于clean周期的。
所以
例如mvn clean compile是可以的,但是mvn compile install就没必要了, compile和install是属于同一个周期内的。
maven插件
其实maven的周期是一个规范真正执行的是maven的插件。阶段执行的时候,其实执行的是maven的插件,每个插件又包含很多的goal,所以插件执行的时候就是执行每一个目标。
添加maven的插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
</plugin>
</plugins>
</build>
新下下来的插件:
maven的resources目录
右侧的插件其实有个resources插件。resources插件,负责将配置文件复制到编译目录中。
两种配置文件main-resources、test-resources
maven默认只关注resources目录下的配置文件,其他目录下的配置文件会被忽略。
如果有配置文件不在resources目录下,这个时候就需要额外的配置:
<build>
<resources>
<resource>
<directory>
src/main/java
</directory>
</resource>
</resources>
</build>
如果需要排除一些文件:
<resources>
<resource>
<directory>
src/main/java
</directory>
<!--排除所有的txt文件,其他的文件都会被复制-->
<excludes>
<exclude>**/*.txt</exclude>
</excludes>
</resource>
</resources>
如果只包含一些文件:
<resources>
<resource>
<directory>
src/main/java
</directory>
<!--除了txt文件,其他的文件都不会被复制-->
<includes>
<include>**/*.txt</include>
</includes>
</resource>
</resources>
来源:https://www.cnblogs.com/chenmz1995/p/12809279.html


猜你喜欢
- 一、项目简述功能: 用户分为患者,医生,管理员,患者可进行注册选择医生 挂号,选择日期,选择号源,医生可进行接诊,管理员可 对用户,医生信息
- springboot Jpa通用接口,公共方法de 简单使用 pom文件加入jpa这是我的例子使用的依赖。jpa必须当
- public class TimeUtil { public static final int SECO
- 最近有一个java实验,要求用java使用数据库,于是本人新手小白,在idea上卡了好半天希望看到这个博客的人能解决问题,跳过一些坑首先,我
- 使用RecyclerView设置间距,需要重写RecyclerView.ItemDecoration这个类。有如下的效果图需要实现,间距只有
- Android ViewPager2 UsageViewPager2 是 ViewPager 的升级版本,解决了 ViewPager 的大部
- 在项目中,经常会遇到页面分割,最常见的系统或网站的主界面。主页面分为,上面系统简介、下面作者简介、左边系统功能菜单、右边则是菜单真正展示的界
- 前言对于 InterruptedException,一种常见的处理方式是 “生吞(swallow)” 它 —— 捕捉它,然后什么也不做(或者
- 本文实例讲述了Android4.0平板开发之隐藏底部任务栏的方法。分享给大家供大家参考,具体如下:getWindow().getDecorV
- 环境:maven+idea。1. 需要的jar包基本的spring和mybatis依赖包就不说了,在pom文件的build->plug
- 为Repository添加自定义方法一、为某个Repository添加自定义方法1、定义一个接口PersonDao,声明要添加的方法。pub
- 本文实例讲述了Android编程实现仿QQ发表说说,上传照片及弹出框效果。分享给大家供大家参考,具体如下:代码很简单,主要就是几个动画而已,
- 代理模式也是一种非常常见的设计模式。了解Spring框架的都知道,Spring AOP 使用的就是 * 模式。今天就来系统的重温一遍代理模
- 本文所述实例实现WinForm自定义函数FindControl实现按名称查找控件的功能,在C#程序开发中有一定的实用价值。分享给大家供大家参
- 前言大家在初学java的时候,大部分的代码都是在控制台上运行的.可能大家辛辛苦苦写了几十行代码,最终就只是在控制台输出一个字符,这个时候,心
- 一、为什么会存在动态内存int data=20;//在栈空间上开辟4个字节空间char ch[5]={0};//在栈开辟5个字节连续空间上面
- Settings -> Editor -> General -> Use soft wraps in editor&nbs
- 1,MainActivity的xml布局<?xml version="1.0" encoding="ut
- HTTP请求:如果需要Json格式的自己转下,度娘上N种姿势…//处理http请求 requestUrl为请求地址 requestMetho
- Spring框架是一个优秀的多层J2EE系统框架,Spring本身没有提供对系统的安全性支持。Acegi是基于Spring IOC 和 AO