本文共 4838 字,大约阅读时间需要 16 分钟。
在这篇文章中,咱们来说一下在IntelliJ IDEA当中是如何来配置Maven的。
简单介绍一下Maven
Maven是Apache提供的一款自动化构建工具,用于自动化构建和依赖管理。开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为Maven使用了一个标准的目录结构和一个默认的构建生命周期。现在你知道这点了吧,就是Maven会使得开发者的工作变得更简单。
这里,我来稍微讲讲自动化构建工具的发展历史,最初开发者用的是Make,然后用的是Ant,接下来就出现了Maven,然而在Maven出现之后,又出现了一个Gradle,虽然市面上有这么多的自动化构建工具,但是现在主流还是用Maven多一点。不过,大家现在也看到了,不管是移动端开发也好,还是后端开发也好,Gradle现在使用的也比较多了,它用起来也很便捷。你逛一下GitHub就知道了,通常在GitHub上既会提供Maven这样的依赖管理方式,也会提供Gradle这样的依赖管理方式。目前的话,应该说还是Maven使用的比较多,所以,这里我们主要是来讲一讲如何在IntelliJ IDEA当中去配置Maven。
好,既然Maven是一个自动化构建工具,那么我们就应该清楚对于一个项目来讲,它的构建的基本环节涉及到清理、编译、测试、报告、打包和部署这样几个过程,如下图所示。
下面,我稍微对这几个过程做一下说明。
- 清理:表示在编译代码前将之前生成的内容删除
- 编译:将源代码编译为字节码
- 测试:运行单元测试用例程序
- 报告:测试程序的结果
- 打包:将Java项目打成jar包,或者将Web项目打成war包
- 安装:将jar包或war包生成到Maven仓库中
- 部署:将jar包或war包从Maven仓库中部署到Web服务器上运行
如果完全是手动进行以上过程的话,那么显然是比较费时费力的,因此,在这里,我们就需要使用Maven来实现项目的自动化构建了。而且,同时的话呢,Maven还可以进行依赖的管理,方便在不同的模块之间进行依赖的一个调用。
关于Maven的具体使用,不是咱们这里讲解的重点,如果你要是不清楚的话,那么请自行学习一下这个Maven,学习的时候,可以参考本人写的「」这个系列专栏哟😜,有一点王婆卖瓜,自卖自夸的意思。
IntelliJ IDEA中Maven的配置
这里,咱们重点来说一下,Maven在IntelliJ IDEA当中的一个配置。
实际上,在IntelliJ IDEA当中已经集成Maven了,如下图所示,但是,咱们不建议使用IntelliJ IDEA给我们提供的现成的Maven,大家最好还是使用自己的,包括用咱们自己的一个settings.xml文件。
关于Maven的下载、解压以及环境变量的配置,我在这里就不再赘述了,因为不是咱们这里讲解的重点。如下图所示,可以看到我将Maven解压到了如下目录中。
好了,接下来,咱们来看一下在IntelliJ IDEA当中如何去配置Maven。
首先,进入IntelliJ IDEA的设置界面中,并依次展开Build, Execution, Deployment
和Build Tools
这两项,这时你会看到Maven
,选中它之后,可以看到如下图所示的界面,在该界面中,我们就可以来配置Maven了。
在以上界面中,我们主要来看最后面的三个选项。第一个选项叫Maven home path
,从这里我们也能看到IntelliJ IDEA已经为我们集成好了一个Maven,不过其版本有点新,是3.6.3
这个版本,而我本人使用的还是3.6.2
这个版本。上面其实也说到了,我们不建议使用IntelliJ IDEA自己提供的Maven,那我们就只好使用咱们自己的了,点击该项最后面的...
按钮,然后在弹出的对话框中找到咱们自己的Maven的解压路径即可,如下图所示,找到之后点击OK
按钮。
第二个选项叫User settings file
,在这儿我们可以根据自己的需要来设置我们自己的settings.xml文件,不妨参照下图来进行设置。
可以看到,对于我本人来说,settings.xml文件是放在了我本机的D:\javaee_develop\maven\apache-maven-3.6.2\conf
目录下。对于Maven来讲,settings.xml文件应该说是它里面非常重要的一个配置文件,因为这个配置文件里面记录了很多的重要信息。举个例子,比如说它记录了我们本地仓库的一个地址,如下图所示。
也就是说,如果我们下载第三方的一些jar包(或者插件)的话,那么都会存放在本地仓库中。还比如说,我们还会在该文件中配置一下mirrors,如下图所示。
可以看到,我先是配置了一个阿里云的镜像,再是配置了一个中央仓库的镜像,为什么要这样进行配置呢?我们平常去添加依赖的话,一般都是到国外的中央仓库去下载相应的一些依赖文件,有的时候,下载是非常不便捷的,要不就是网速比较慢,要不就是下载请求直接就被拦截了,此时,你要么配置自己的VPN,要么转换成国内的仓库,这就是我以上mirrors配置的原因。
如果你像我这样配置好了之后,那么添加依赖时,Maven就会优先从上往下选,第一个仓库(阿里云的仓库)要是宕机的话,就会从第二个仓库(即中央仓库)中去下载相应的一些依赖文件。
第三个选项叫Local repository
,即设置本地仓库。其实,第二个选项设置好之后,第三个选项也就自动设置好了,如下图所示。
接着,在IntelliJ IDEA的设置界面的左侧展开Maven
这一项,这时你会看到Importing
,选中它之后,可以看到如下图所示的界面。
以上界面中也有几项需要说明一下。第一项,即Detect compiler automatically
,这应该是在说IntelliJ IDEA会实时监控项目的pom.xml文件,以便进行项目变动设置。这说的是啥意思啊?就是说如果我们创建了一个Maven工程的话,很显然该工程里面是会有一个pom.xml文件的,我们都是在该文件里面添加依赖的,还有印象吗?那么当pom.xml文件修改之后,是否时时的进行一个下载。从以上界面中,可以看到该项是默认勾选上的,如果你要是没有勾选上,建议你勾选上。这样的话,一旦修改了pom.xml文件,增加了新的依赖,那么就能给我们时时进行下载了。
再来看第二项,即Automatically download
,这是说在Maven导入依赖包的时候是否自动下载源码和说明文档,默认是没有勾选的,当然了,也不建议大家勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果大家真的需要某一个依赖包的源码和文档,那么你到时候再针对该依赖包进行联网下载即可。如果你要是都勾上了后面几项,那么这势必会影响依赖添加(或者下载)的一个速度。除此之外,我还要说明的一点是,IntelliJ IDEA支持直接从公网下载源码和文档。
最后看第三项,即VM options for importer
,这是告诉我们可以设置导入的VM(虚拟机)参数。默认这项是没有设置的,不过在这儿我们可以设置成-Xmx768m
玩玩,如果项目真的导入太慢了,那么我们可以再增大此参数哟😘
设置好之后,点击OK
按钮即可。至此,就完成了IntelliJ IDEA中Maven的配置。
创建对应的Module
首先,我们在当前工程下右键去新建一个Module,如下图所示。
新建Module的话,我们就以Spring Boot工程的模板(即Spring Initializr
)为例来进行演示了,如下图所示。
点击以上Next
按钮,这时候应该是在加载一个东西,所以,在这一过程中是需要大家联网的,可能因为网络情况的不同,所加载的时间是不一样的。不过,我这儿很快就出来了如下对话框。
以上对话框中有几项需要我们填写,下面我分别来说明一下。
Group
:这里需要填写组织或者公司的域名,不过是倒序的,例如com.meimeixia.maven
Artifact
:这里填写的是项目模块名称,例如mavendemo
Version
:默认Maven生成版本,也即Maven默认的一个版本命名方式,默认是0.0.1-SNAPSHOT
,我们可以不用做修改
大家可以看一看我填写的结果,如下图所示,你要是不会写的话,不妨参照下图来写。
点击以上Next
按钮,这时会出现如下对话框,这里是来询问我们是不是需要下载相关的一些组件信息。不过,大家可以先不进行选择,等你真正在开发当中需要哪些了,回过来再进行勾选也是可以的。
在该对话框中,不知你看到没有我们现在使用的Spring Boot是2.4.4
这个版本的,当然了,你还可以自行选择其他版本。
继续点击以上Next
按钮,这时会出现如下对话框,在该对话框中,我们就不修改Module的名字和位置了,一切默认即可。
最后,点击以上Finish
按钮,你会发现此时会去下载当前Spring Boot工程的模板(即Spring Initializr
),这稍微需要一点时间,所以大家要保证在这个过程中你的环境是一个联网的状态,根据大家网络情况的不同,它这个下载的时间有长有短。
在这里,我想提醒大家的一点是,如果IntelliJ IDEA是在工作的过程当中,不管是上传,还是下载,还是正在编译我们当前的项目,那么大家尽可能的不要在IntelliJ IDEA工作的过程当中,去做一些额外的操作,因为你的这个额外的操作可能会导致IntelliJ IDEA出现问题。比如有可能你的这个额外操作会导致出现这样一个问题,就是你新修改了代码,可就算代码做了修改,IntelliJ IDEA也不会真正去编译。
Module创建完成之后,就差不多是下面这个样子了,在IntelliJ IDEA右边的Maven视图中我们能看到创建的Module哟😀,如果没有的话,请点击Maven视图中的刷新小图标!
而且,在当前工程下,我们也能看到新创建的Module,即mavendemo,展开它下面的src目录,发现还有两个目录,一个是main目录,一个是test目录,然后依次再展开这两目录,你会看到如下图所示的结果。
这里,我们不妨来复习一下Maven工程的标准目录结构。
main
java
:该目录存放的是项目的Java源文件resources
:该目录存放的是项目的资源文件
test
java
:该目录存放的是所有测试的Java源文件,例如JUnit单元测试类
我们还是来看一下右侧Maven视图中的Module,展开它之后,你会看到一个Lifecycle目录,在该目录下就有Maven工程所对应的生命周期,如下图所示,其中常用的也就是clean
、compile
、package
以及install
等操作。
关于这几个比较重要的操作,我就不在这里详细地赘述了,我只是来简单地演示一下install
操作。如果我们想要将当前的这个Module打成一个jar包,然后供其他的模块引用,那么该怎么办呢?很简单,我们只需要将当前的这个Module进行一个install
操作就行,即双击install
生命周期,这时IntelliJ IDEA控制台应该会出现安装成功的消息。
成功安装到本地仓库中之后,我们不妨去本地仓库中查找一下所打成的jar包,你要是找不到该jar包的位置的话,不妨从IntelliJ IDEA控制台打印出的消息中找一找,相信你很快就能找到了。
你找到了这个jar包了没啊,反正我是找到了,如下图所示,大家现在就可以把它作为一个依赖了,而且在其他的模块或者项目当中就可以引用它了哟😘
至此,在IntelliJ IDEA中Maven的配置与使用,我就彻底说清楚了,大家如果还是有不明白的地方,可以在下面留言与我进行讨论哟~
转载地址:https://liayun.blog.csdn.net/article/details/115646101 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!