MAVEN
1.MAVEN是什么?
Maven—软件项目管理工具【导入Jar包】–通过一小段描述信息—【pom.xml】
没有Maven之前,我们的项目如果需要使用第三方的开发包【jar文件】,那么我们首先要将项目需要的jar下载到本地,然后在导入到项目中。这种操作方式的缺点,1.需要自己动手下载,2.可能会出现版本不兼容的问题。
有了Maven项目管理工具以后,我们创建的项目如果需要第三方的开发包【jar文件】,只需要在项目的pom.xml文件中配置一个信息描述,maven就会自动帮助我们下载依赖jar包。
2.MAVEN的下载、安装、环境变量配置
2.1Maven下载
下载地址:https://maven.apache.org/
2.2Maven安装
首先需要解压maven的zip压缩包。将其拷贝到常用的文件夹下。
设置Maven的环境变量,基本上和设置Jdk环境变量相似,首先设置MAVEN_HOME
再加入Path。
2.3测试maven配置
打开dos窗口:输入mvn –version
看到上面的信息,说明maven环境搭建成功。
2.4maven的目录
bin:核心的二进制文件
conf:核心配置文件目录
lib:依赖库的目录
3.MAVEN的仓库的介绍【本地仓库、私服仓库、中央仓库】
maven的仓库介绍
所谓的maven仓库:仓库用来管理maven打包后的项目的(还包括插件项目,还包括其他依赖的项目、还包括我们自己的项目),再简单的说,仓库就是为了存放管理项目(在maven中项目就是jar包,jar包也叫项目)的。
maven的仓库分为三类:
1.本地仓库:安装maven的时候可以从在本地创建文件并将需要的jar包全部复制匹配的目录下即可。如果项目中使用本地仓库中没有jar包,就会到私服或者中央仓库将需要jar包下载本地仓库中。
2.私服仓库:一般是一个公司内部搭建的maven仓库。将项目中可能需要的所有jar都放在其中,将maven的下载的jar包镜像地址设置成私服的地址。
3.中央仓库:是maven本身提供的一个仓库。但是这个仓库中并不会有开发中需要用的所有jar包。并且这个仓库在国外,真的使用这个仓库下载速度是十分缓慢的。
https://mvnrepository.com/
4.修改配置本地仓库、中央仓库
-
本地仓库配置
在maven的安装文件中的conf目录下有setting.xml文件。
它是整个maven的核心配置文件。其中localRepository 标签配置本地jar包(仓库)位置。
细节说明:如果不配置本地仓库的目录,默认会在用户目录下有.M2的文件夹中保存仓库相关的jar包。
C:\Users\wx.m2\repository -
settings的其他配置项说明
localRepository:自定义本地仓库路径。
interactiveMode:
offline:是否每次编译都去查找远程中央仓库。
pluginGroup:插件组。
proxies:通过代理访问外部库
servers:集成认证服务,例如集成Tomcat
mirrors:镜像库,可以指定内部中心库。
profiles:个性配置,需要在activation标签中激活。
activeProfiles:表示激活的profile。 -
修改maven远程仓库位置
maven工具其中有一个核心的功能是可以到远程服务器上给本地配置的仓库下载项目中需要使用的jar包(以后将其称为依赖)。
但是由于maven默认的远程仓库是maven的核心中央仓库,在国外,下载速度太慢了,国内阿里巴巴也提供相关maven仓库,
我们可以将自己maven的远程仓库的地址修改为阿里巴巴的maven仓库。
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
- maven常用命令
mvn archetype:generate 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvn jetty:run 启动jetty服务
mvn tomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类。
上面这些命令可以在dos窗口中直接去使用,后期在开发中也不会在dos窗口中使用这些命令,而是结合开发工具使用。
5.IntelliJIDEA配置MAVEN
1.Maven 的配置
maven 的下载 – 解压 – 环境变量的配置这里就赘述了,下面直接整合 Maven。选择自己 Maven 的目录,和 settings文件,然后配置自己的仓库 reposirot.
Maven home directory:可以指定本地 Maven 的安装目录所在,因为我已经配置了
M2_HOME 系统参数,所以直接这样配置 IntelliJ IDEA 是可以找到的。但是假如你没有配
置的话,这里可以选择你的 Maven 安装目录。此外,这里不建议使用 IDEA 默认的。
User settings file / Local repository:我们还可以指定 Maven 的 settings.xml 位置和本地仓库位置
Import Maven projects automatically:表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件,进行项目变动设置。
Automatically download:在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是没有勾选的,也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果我
们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可。IntelliJ IDEA
支持直接从公网下载源码和文档的。
VM options for importer:可以设置导入的 VM 参数。一般这个都不需要主动改,除非项目真的导入太慢了我们再增大此参数。
2.创建对应的 Module
此时 Spring Initalizr 是 springboot 工程的模板.
Group:组织或公司域名,倒序
Artifact:项目模块名称
Version:默认 maven 生成版本:0.0.1-SNAPSHOT
这里可以暂时先不选,后面开发需要了再进行设置
点击 finish 即可完成创建
创建完成以后,可以在 IDEA 右边看到创建的 Module。如果没有,可以刷新一下。
目录下也会有对应的生命周期。其中常用的是:clean、compile、package、install。
比如这里install,如果其他项目需要将这里的模块作为依赖使用,那就可以install。
安装到本地仓库的位置。