首页 > 其他分享 >idea工具中maven的Lifecycle中各个功能作用详解

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

时间:2024-04-11 14:33:41浏览次数:25  
标签:文件 项目 jar idea maven 编译 install Lifecycle mvn

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   、

 

标签:文件,项目,jar,idea,maven,编译,install,Lifecycle,mvn
From: https://www.cnblogs.com/isme-zjh/p/18128888

相关文章

  • 使用java代码删除nexus maven仓库中的jar包和pom.xml等组件
    pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://ma......
  • 上传第三方jar包至maven私服,以geotools为例
    上传jar包(模块打包方式为jar)mvndeploy:deploy-file-DgroupId=org.geotools-DartifactId=gt-api-Dversion=10.3-Dpackaging=jar-Dfile=C:\Users\Nihaorz\Desktop\geotools\gt-api\10.3\gt-api-10.3.jar-Durl=http://192.168.100.154:8081/repository/geostack-releases......
  • 在Intellij IDEA中使用Debug
    Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。所以学习下如何在IntellijIDEA中使用好Debug,主要包括如下内容:......
  • Spring Maven项目添加web模块
    问题描述:IDEA新建的maven项目没有web模块,如何新增web模块?操作步骤:1、选中对应的模块名称,右键单击“OpenModuleSettings” 2、如果模块下②web存在,则按照图一步骤顺序,依次选择“+”,在Type单击web.xml,path路径为默认路径,如果想要修改,可以单击步骤⑤修改,否则,执行步骤⑥和⑦......
  • maven下载、安装与配置
    Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的,可以使用maven对java项目进行构建、依赖管理。......
  • IDEA打包JavaWeb项目
    1.File->ProjectStructure2.Artifacts->"+"->WebApplicationExploded->FromModules弹框选择对应Module,点击ok3."+"->WebApplicationArchive->For'xxx:warexploded'->最后点击"OK"4.Build->Build......
  • intellij idea的快速配置详细使用
    IntelliJIDEA是一款功能强大的集成开发环境(IDE),可以用于开发各种类型的应用程序,如Java、Kotlin、JavaScript、Python等。它提供了许多快速配置选项,可以帮助开发人员更高效地开发代码。在这份文档中,我们将详细介绍IntelliJIDEA的快速配置使用方法,让您快速上手使用它。下载......
  • 解决idea中Terminal终端无法执行GIT命令+Terminal 中文乱码
    参考文档:https://blog.csdn.net/qq_44830363/article/details/107096825 在使用IDEA进行开发的时候,经常会用到Git进行代码管理,如果再开一个Docker窗口的话,窗口切换来切换去的很不方便为了简单方便,我们可以直接在IDEA中使用自带的Terminal,这样就可以达到在IDEA主界......
  • IDEA中使用tomcatconfiguration做服务器后,无法从html跳转到servlet的原因
    就我的项目而言,因为我没有用maven中的tomcat插件,用的是IDEA中的tomcatconfiguration,所以刚启动服务器生成的网址是http://localhost:8080/brand_demo_war/,而因为我的项目叫brand-demo,servlet叫做selectAllServlet,所以正常情况浏览器跳转到该servlet后的url应该是http://localhos......
  • 快速上手IntelliJ IDEA:配置与使用指南
    引言在当今软件开发领域,选择一款强大而高效的集成开发环境(IDE)对于开发人员来说至关重要。而IntelliJIDEA作为一款功能丰富、强大灵活的Java开发工具,在业界享有盛誉。本博客将带领读者深入了解IntelliJIDEA的配置与使用,旨在让开发者能够快速上手并熟练运用这一工具,提高开......