如果说我们现在手头有非常多的jar包,然后有好多好多的项目。我们之前是采用cv大法将我们的jar包复制到每一个项目中。
但是这样cv非常地麻烦,并且同一份jar包要被拷贝好几次,这就会导致我们的项目特别臃肿。这个时候我们就可以使用Maven进行统一管理。Maven是相当于是一个仓库,将我们所有的jar包都置于其中。当我们的项目需要用到Maven中的某一个jar包的时候,我们将就可以通过依赖的形式调用这个jar包。(不是把jar包直接复制过去)
构建过程的几个主要环节
①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将 Java 源程序编译为字节码文件。
③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
④报告:在每一次测试后以标准的格式记录和展示测试结果。
⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。 Java 工程对应 jar 包, Web工程对应 war 包。
⑥安装:在 Maven 环境下特指将打包的结果——jar 包或 war 包安装到本地仓库中。
⑦部署:将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。
maven和我们Linux下的make/makefile项目自动化构建工具是比较相似的。
安装Maven
如果Mac安装过homebrew也就是包管理工具之后,直接在终端中输入下面代码即可安装
brew install maven
安装好之后使用下面的代码查看我们的Maven的安装路径
brew list maven
然后在这个路径下有我们的Maven的配置文件
/usr/local/Cellar/maven/3.8.5/libexec/conf/
前往这个文件夹
前往文件夹之后,这个就是我们Maven的配置文件
这里我们使用文本编辑工具打开这个settings
找到大约55行的位置,这个用localRepository标签括起来的路径就是我们本地仓库的路径。因为我们的Maven会首先从服务器端将我们的包文件拷贝到本地的仓库,然后当项目中需要用到这个包的时候就可以先从本地仓库中去调用(可以实现离线的功能)。 我们将这句话拷贝到注释的外面,然后再中间填写上我们想要让它保存的本地仓库的路径。
配置阿里云镜像
<!-- 配置阿里云 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
将上面这段代码放到我们之前的配置文件中<mirror>标签中,这样之后Maven去下载的话会优先去阿里云下载,就比去中央仓库快很多。
再配置我们的jdk
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
将这段代码放到我们profile的两个标签之间
配置完成之后打开idea,然后在左上角点击preferences
然后打开到这个界面,选择我们刚刚配置好的Maven,idea会自动识别出来的。
然后下面两个分别填写刚刚配置的XML文件的路径和我们创建的本地仓库的位置
然后点击右下角的apply,再点击OK
创建一个Maven
idea中的project是一个工程,一个工程中可以创建很多模块
首先创建一个空项目
file->new->module
配置成下面这个样子
然后点击create创建,就会出现下面的样子
这里我们发现我们的Junit包没有导入
然而我们现在运行的时候出问题了,这可能是我们的包的版本不对,我们重新修改一 下
然后我们可以从我们之前配置文件中指定的目录下找到我们的maven所存的本地库,这些全部都是刚刚下载的库,我们刚刚的Maven项目就是依赖这个本地仓库,而并不是将这些jar包拷贝到idea的当前工作目录下的。