idea工具中maven的Lifecycle中各个功能作用详解

IDEA工具中Maven下的各个功能到底有什么作用,平时会使用,但是真正的含义,得探索一下。毕竟不能总是停留在会用的层面~

 接下来,让我们一探究竟!

mvn clean作用:

翻译:打扫清理,最直接的就是作用于橙色的target目录。在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的文件(i.e:删除了install生成的所有文件,包括该目录)。执行该命令会删除项目idea路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。

清理前:

清理后:

mvn validate作用:

翻译:验证。验证工程正确性,所需信息完整否。 但是自己没有实际使用过

————————————————

mvn compile作用:

一般是编译scr/main/java或是scr/test/java里面的文件,主要是java文件

翻译:编译。大伙都知道java的识别文件是.class,编译生成class文件,编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。与build区别:只编译选定的目标,不管之前是否已经编译过。

idea中的build 功能的作用:
————————————————

编译前(清理后):

编译后:

mvn test作用:

翻译:测试。单元测试。,

但是自己没有实际使用过

————————————————

mvn package作用:

翻译:打包。将工程文件打包为指定的格式,例如JAR,WAR等(看你项目的pom文件,里面的packaging标签就是来指定打包类型的)。这个命令会在你的项目路径下一个target目录,并且拥有compile命令的功,因此能进行编译,同时会在target目录下生成项目的jar/war文件。如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,并不会讲依赖放到本地的Maven仓库,因此编译a项目时就会报错,因为找不到所依赖的b项目,说明a项目在本地仓库是没有找到它所依赖的b项目,这时就用到install命令。

打包前:

打包后:

————————————————

mvn verify作用:

翻译:核实。主要是对package检查是否有效、符合标准。 没有实际使用过

————————————————

mvn install作用:

翻译:安装。将包安装至本地仓库(在本地Repository中安装该jar包),以让其它项目依赖。该命令包含了package命令功能,不但,会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用(如果没有设置过maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,解决了上面打包package出错的问题)

————————————————

mvn site作用:

翻译:站点。生成项目的站点文档。  没有实际使用过

————————————————

mvn deploy作用:(上传到私服)

翻译:配置部署。复制到远程仓库,也就是将上面mvn install中的jar包推送到远程仓库上去,提供给其他的同事进行拉取使用(共享给其它开发人员和项目),上面mvn install 则是将依赖包放到自己本地的仓库里面,以供自己本地想其他项目使用(如果其他的项目对这个项目有依赖的话)

mvn compile与mvn install、mvn deploy的区别

1.mvn compile,编译类文件
2.mvn install,包含mvn compile,mvn package,然后上传到本地仓库
3.mvn deploy,包含mvn install,然后,上传到私服

————————————————

PS:

打包方式主要有JAR和WAR两种

其中JAR用于比较小的项目,好处为不用依赖包,因为他把应用依赖的所有依赖包和程序打包在一个全量包里

其他在idea中的mvn命令

    1. 显示版本信息 :mvn -version/-v
    2. 生成target目录,编译、测试代码,生成测试报告,生成jar/war文件 :mvn package
    3. 显示详细错误 信息:mvn -e
    4. 运行任何检查,验证包是否有效且达到质量标准mvn verify
    5. 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行mvn install -X
    6. 打印整个依赖树mvn dependency:tree
    7. 在应用程序用使用私服,加如下配置

pom.xml中添加的私服:

<repositories> <repository> <id>nexus</id> <url>http://172.15.108.19:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories>

作用讲完了,除了这些,还需要关注一下,maven中的私服是怎么搭建的 ?自己在idea中的deploy是怎么推送到目的私服的,有哪些人可以推送到私服,其中都是怎么关联起来的呢 ? 这个请关注下一篇文章的讲解:

参考文章:https://blog.csdn.net/weixin_48321825/article/details/126345450   、

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执键行天涯

码你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值