maven的生命周期及常用命令介绍
作者:嘿咻嘿咻 发布时间:2022-03-10 17:21:16
maven简介及优势
maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性利用maven自身及其插件还可以获得代码检查报告、 单元测试覆盖率、实现持续集成等等.
maven优势:
1.项目自动化编译部署
2.项目jar包的依赖管理
3.项目的插件管理
Maven是围绕着构建生命周期的核心概念为原型,整个项目的创建和部署都是围绕着生命周期展开的,一个生命周期由若干个生命周期阶段组成。
maven有三个内置的默认生命周期分别是default, clean and site.
默认(default)的生命周期处理你的项目部署,clean生命周期处理项目的清洗,而(site)网站的生命周期处理你的项目的站点文档的创建。
这些构建的生命周期中的每一个由编阶段的一个不同的列表,其中,构建阶段表示在生命周期的一个阶段所定义。
例如,default的生命周期包括以下阶段(用于生命周期阶段的完整列表,请参阅生命周期参考):
validate - 验证项目是正确的,所有必要的信息,请访问
compile - 编译项目的源代码
test - 使用合适的单元测试框架测试编译源代码。这些测试应该不需要代码被打包或部署
package - 以编译后的代码,并在其分发格式打包,例如一个JAR。
verify - 运行的集成测试结果的检查,以确保质量标准得到满足
install - 包本地安装到本地存储库中,用作其他项目的依赖
deploy -完成构建环境中,复制最终的包到远程仓库与其他开发者和项目共享
当默认的生命周期时,Maven会首先验证项目,然后将尝试编译源代码,运行那些对测试,封装的二进制文件(例如JAR),针对这个软件包运行集成测试,验证了集成测试,安装验证包到本地仓库,最后安装的软件包部署到远程存储库。
常用的maven命令行:
mvn clean
删除任何生成输出(如类文件或jar文件)
mvn test
为项目运行单元测试
mvn install
将项目构件复制到您的本地存储库中
mvn deploy
将项目构件复制到远程存储库中
mvn site
创建项目文档(如报告或Javadoc)。
mvn compile
编译
mvn validate
PS:下面看下Eclipse中maven常用的命令
在某一个maven项目右键快捷方式,然后点击Run As就可以发现几个Maven的命令:
Maven Build:
这个命令用于编译Maven工程,执行命令后会在target文件夹中的classes中生成对应的class文件。
Maven Clean:
删除target文件夹,即删除生成的package包以及class等文件。
Maven Test:
先自动进行编译,在运行所有的测试用例。
Maven install:
发布生成对应的package包(有war和jar两种形式)。
来源:https://www.cnblogs.com/sunjiqiang/p/5645281.html


猜你喜欢
- 引言最近,各大平台都新增了评论区显示发言者ip归属地的功能,例如哔哩哔哩,微博,知乎等等。Java 中是如何获取 IP&
- 简述mysq5.7之后新增了json类型,但是在使用的过程中,Json数组中的值小于Integer.MAX_VALUE,则反序列化时会转成L
- maven 文件打包,输入 :package -Dmaven.test.skip=true 进行打包, 一般生成的jar 文件 名称是项目名
- 每日一笑下班和实习生一起回家,公交站等车,一乞丐把碗推向实习生乞讨。这时,实习生不慌不忙的说了句:“我不要你的钱,你这钱
- SpringBoot集成Mybatis时mybatis.mapper-locations和@MapperScan的作用1、mybatis.m
- 开发中有时候需要自己封装分页排序时,List如何对某一属性排序呢,分享一个小实例,大家共勉,希望能对大家有用,请多多指教。1.Student
- 本文实例讲述了C#动态调用事件的方法。一般来说,传统的思路是,通过Reflection.EventInfo获得事件的信息,然后使用GetRa
- 重复参数 Scala在定义函数时允许指定最后一个参数可以重复(变长参数),从而允许函数调用者使用变长参数列表来调用该函数,Scala中使用“
- 上一篇Android中XUtils3框架使用方法详解(一)文章,主要介绍了XUtil3的注解模块,网络模块,图片加载模块,今天给大家带来数据
- 在 C++ 需要使用 GetSystemFirmwareTable 的方法来获得 PC 的序列号,需要写的代码很多,但是在 C# 可以使用
- 1、MediaCodec调用流程首先,我们先看下MediaCodec::CreateByType函数里面做了什么:sp<MediaCo
- 定义工具类-创建对应的日志对象定义枚举类-存储定义的日志文件名称logback.xml里配置对应的日志名称和日志等级1、工具类 Logger
- C# multipart/form-data提交文件和参数public static string PostJsonData(string
- 本文核心为分层领域模型(VO , PO , BO, DAO ,POJO等)概念的个人理解。1.为什么出现分层领域模型这个东西?(1)解决MV
- 本文实例为大家分享了C#基于Socket实现多人聊天功能的具体代码,供大家参考,具体内容如下服务器服务器负责接受所有客户端发来的消息,和将接
- 1. 我们可以通过将字符强转为int型进行输出那么在控制台中我们将会得到字符的ascii值,这里我们使用nextLine()方法来接收字符串
- FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化
- 目录1. SpringMVC默认三个异常处理类2. @ExceptionHandler注解异常3. @ResponseStatus注解异常4
- 本文主要解决以下几个问题:我们都知道Android的刷新频率是60帧/秒,这是不是意味着每隔16ms就会调用一次onDraw方法?如果界面不
- 本文实例讲述了C#实现HSL颜色值转换为RGB的方法。分享给大家供大家参考。具体实现方法如下://This method converts