Maven使用教程(IDEA版)
Posted 雾会散°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven使用教程(IDEA版)相关的知识,希望对你有一定的参考价值。
目录
7.2.1 在maven的settings.xml文件的servers标签中
7.2.2 在maven的settings.xml文件的profiles标签中
7.2.3 在maven的settings.xml文件的activeProfiles配置激活profile
一、Maven简介
1.1 在项目中如何导入jar包?
-
下载jar包 (mvn)
-
将下载的jar包拷贝到项目中(WEB-INF/lib)
-
选择jar文件--右键--Add as Library
1.2 传统导入jar包的方式存在什么问题?
-
步骤多(相对)——
繁琐
-
在不同的项目中如果需要相同的jar包,需要分别存储这个jar文件——
冗余
、项目体积大
-
在不同的环境下可能因为jar文件版本不一致导致项目无法运行(重新配置)——
移植性差
1.3 项目生命周期
项目从编译到运行的整个过程
完整的生命周期:清理缓存—校验—编译—测试—打包—安装—部署
-
IDEA提供了一键构建项目的功能,但是如果我们需要自定义的生命周期管理,却没有现成的工具(清理缓存)
1.4 Maven简介
Maven是一个
基于项目对象模型(POM)用于进行项目的依赖管理、生命周期管理的
工具软件
核心功能
-
依赖管理
-
生命周期管理
-
聚合工程
二、Maven安装及配置
2.1 Maven下载
2.2 Maven安装
Maven是基于Java语言进行开发的,因此依赖JDK(建议JDK1.7+)
开箱即用:直接解压即可
-
解压(d:/mvn)
-
目录结构:
-
bin 存放指令文件(Maven提供了一个mvn指令)
-
boot 包含了一个类加载框架的jar文件
-
conf 包含了Maven的核心配置文件settings.xml
-
lib 存放了maven运行所需的jar文件
-
2.3 配置环境变量
-
MAVEN_HOME
D:\\mvn\\apache-maven-3.6.3 -
Path
增加 %MAVEN_HOME%\\bin
测试 |
---|
三、Maven的项目结构
使用Maven进行项目还有一个好处:无论使用什么样 的开发工具(eclipse/idea)项目的结构是统一的。
3.1 Maven的项目结构
demo(项目名称)
--src
--main (存放项目的源文件)
--java (存放java代码,相当于传统项目中的src目录)
--resources (存放配置文件和静态资源的目录,相当于传统项目的web目录)
--test (存放项目的单元测试代码)
--java(测试代码)
--pom.xml
3.2 pom.xml 文件
POM Project Object Model,Maven可以根据pom文件的配置对此项目进行依赖管理;也就是说项目中需要依赖,直接在pom.xml进行配置即可
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!--指定项目模型版本-->
<modelVersion>4.0.0</modelVersion>
<!--指定项目的标识:G 企业标识 A 项目标识 V 版本-->
<groupId>com.qfedu</groupId>
<artifactId>fmwy</artifactId>
<version>1.0.0</version>
<!--配置当前项目的依赖-->
<dependencies>
</dependencies>
</project>
如果需要在当前项目中添加依赖,只需在pom.xml文件中进行依赖配置即可
配置依赖 找到依赖的坐标,添加dependencies标签即可
maven依赖仓库网址:https://mvnrepository.com/
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
四、依赖管理
4.1 Maven依赖管理的流程
4.2 Maven仓库介绍
-
本地仓库
就是本地计算机上的某个文件夹(可以是自定义的任何文件夹) -
远程仓库
就是远程主机上的jar文件仓库-
中央仓库
maven官方提供的仓库,包含了所需的一切依赖(免配置) -
公共仓库
除了中央仓库以外的第三方仓库都是公共仓库,例如aliyun(需要配置) -
私服
企业搭建的供内部使用的maven仓库
-
maven仓库 |
---|
4.3 Maven仓库配置
在maven_home/conf/settings.xml中进行配置
配置本地仓库
<localRepository>d:\\repo</localRepository>
配置公共仓库
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
五、项目生命周期管理
5.1 生命周期介绍
项目构建的声明周期:项目开发结束之后部署到运行环境运行的过程
清除缓存
检查
编译
测试(就会执行maven项目中test目录下的单元测试)
打包(war 、 jar)
安装 (jar会被安装到本地仓库)
部署 (将项目生成的包放到外部服务器中—私服仓库)
5.2 生命周期管理指令
在项目的根目录下执行mvn指令(此目录下必须包含pom.xml)
-
清除缓存 mvn clean
-
检查 mvn check
-
编译 mvn compile
-
测试 mvn test
-
打包 mvn package
-
安装 mvn install
-
部署 mvn deploye
六、基于IDEA的Maven使用
6.1 在IDEA中关联Maven
maven配置 |
---|
说明:
IDEA本身集成了Maven,考虑到IDEA和Maven版本的兼容性,Idea不建议配置比默认版本更新的版本,建议使用idea自带的maven。
6.2 使用IDEA创建Maven项目
6.2.1 Java项目
创建Java项目 |
---|
6.2.2 web项目
-
创建maven项目:maven-demo2
-
在pom.xml文件设置打包方式为war
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.qfedu</groupId> <artifactId>maven-demo2</artifactId> <version>1.0.0</version> <!--设置项目打包方式为war--> <packaging>war</packaging> </project>
-
完成web项目结构
-
配置web组件—Tomcat
-
部署web项目
6.3 在IDEA中使用Maven进行依赖管理
6.3.1 查找依赖坐标
6.3.2 添加依赖
-
将依赖的坐标配置到项目的pom.xml文件dependencies标签中
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qfedu</groupId>
<artifactId>maven-demo2</artifactId>
<version>1.0.0</version>
<!--设置项目打包方式为war-->
<packaging>war</packaging>
<dependencies>
<!--在此位置配置项目中所需依赖的坐标 GAV-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.18</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
6.3.3 依赖范围
在通过dependency添加依赖时,可以通过
scope
标签配置当前依赖的适用范围
-
test 只在项目测试阶段引入当前依赖(编译、测试)
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>
-
runtime 只在运行时使用(运行、测试运行)
-
provided 在(编译、测试、运行)
-
compile 在(编译、测试、运行、打包)都引入
6.4 在IDEA中使用Maven进行项目构建
6.4.1 Maven项目构建生命周期说明
-
clean 清理缓存 清理项目生成的缓存
-
validate 校验 验证项目需要是正确的(项目信息、依赖)
-
compile 编译 编译项目专供的源代码
-
test 测试 运行项目中的单元测试
-
package 打包 将项目编译后的代码打包成发布格式
-
verify 检查 对集成测试的结果进行检查、确保项目的质量是达标的
-
install 安装 将包安装到maven的本地仓库,以便在本地的其他项目中可以引用此项目(聚合工程)
-
deploy 部署 将包安装到私服的仓库,以供其他开发人员共享
6.4.2 IDEA进行生命周期管理
-
可视化
-
终端指令
选择项目名称---右键---Open in Terminal
mvn clean
七、私服
企业搭建供内部使用的一个Maven仓库
开发者需要依赖直接从私服下载
私服可以实现企业内部依赖的共享:当企业开发了一个通用插件(jar),可以发布到私服,可以连接到当前私服的其他开发者就可以共享这个插件了
7.1 私服搭建
我们可以通过专门的Maven仓库管理软件来搭建私服。例如:Apache Archiva、Nexus
7.1.1 下载Nexus
7.1.2 解压nexus
7.1.3 安装并运行nexus
- 进入到
nexus-2.14.11-01/bin
目录 - 管理员身份打开cmd命令行,执行指令
7.1.4 登录Nexus
私服管理器登录地址: http://localhost:8081/nexus
- 私服中仓库类型
- 私服仓库组的配置
7.2 配置私服
7.2.1 在maven的settings.xml文件的servers
标签中
<!--配置连接私服所需的帐号和密码-->
<server>
<id>nexus-public</id> <!-- nexus的认证id -->
<username>admin</username> <!--nexus中的用户名密码-->
<password>admin123</password>
</server>
7.2.2 在maven的settings.xml文件的profiles
标签中
repository 和 pluginRepository的 id子标签的值,要和上面配置的server 的id子标签的值一致
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus-public</id>
<name>Nexus Release Snapshot Repository</name>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus-public</id>
<url>http://localhost:8081/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
7.2.3 在maven的settings.xml文件的activeProfiles
配置激活profile
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
IntelliJ IDEA Maven的详细安装教程(Windows版)(一站式:简介+下载+安装+环境搭建+IDEA上配置Maven)
目录
- Maven简介
- Maven主要进行的两项工作
- Maven 的pom.xml
- Maven 的下载
- Maven的安装
- Maven的配置文件说明与操作
- IntelliJ IDEA 中配置Maven
1、Maven简介
Apache Maven是一个软件项目管理工具。基于项目对象模型(POM)的理念,能够通过一段核心描述信息来管理项目的构建、报告和文档信息。
2、Maven主要进行的两项工作
(1)统一开发规范与工具;
(2)统一管理jar包:Maven统一管理项目开发所需要的jar包,但是这些jar包将不再包含在项目中(即不存在于lib目录下),而是存放于仓库中,Maven项目首先会从本地仓库中获取所需要的jar包,当无法获取指定jar包时,本地仓库会从远程仓库(中央仓库)中下载jar包,并放入本地仓库中以备将来使用。。仓库主要包括以下内容:
①中央仓库:中央仓库存放开发过程中的所有jar包,例如JUnit,这些jar包都可以通过互联网从中央仓库中下载得到,仓库地址:http://mvnrepository.com
②本地仓库:即本地计算机中的仓库。官方下载Maven的本地仓库,配置在"%MAVEN_HOME%\\conf\\settings.xml"文件中,找到localRepository即可。
3、Maven的pom.xml
Maven是基于项目对象模型的理念管理项目的,所以Maven的项目都有一个pom.xml配置文件来管理项目的依赖以及项目的编译等功能。
而在Maven Web项目中,重点关注以下几个元素:①properties元素;②dependencies元素;③dependency元素
// properties元素中可以定义变量,以便在dependency元素中引用
<properties>
<spring.version>5.1.5.RELEASE</spring.version> // spring版本号
</properties>
// dependencies元素中包含多个项目依赖需要使用的dependency元素
<dependencies>
// dependency元素内部通过<groupId></groupId>、<artifactId></artifactId>、<version></version>3个子元素确定唯一的依赖,也可以称为3个坐标。
<dependency>
<groupId>org.springframework</groupId> // groupId组织的唯一标识
<artifactId>spring-core</artifactId> // artifactId项目的唯一标识
<version>$spring.version</version> // version项目的版本号
</dependency>
</dependencies>
4、Maven的下载
注意:maven是基于java的工具,因此在安装Maven前要先安装并配置好JDK,参考文章:JDK1.8的安装与环境配置和JDK、JRE和JVM的简介。
1、进入 Maven的官网,点击Download。
2、目前最新的Maven版本是3.8.6,这里我下载一个较低的版本,点击下方的“archives”。
3、然后选择3.3.9的Maven版本发布信息。
4、选择“binaries”(二进制文件)。
5、下载压缩包。
5、Maven的安装
1、将下载好的压缩包,解压缩到任意盘下。
2、打开高级系统配置,选择环境变量,在用户变量一栏中点击“新建”,配置相关的环境变量。
3、变量名:MAVEN_HOME 变量值:D:\\apache-maven-3.3.9(即Maven的目录所在路径)
4、接着,在系统变量中选择path,进行配置:%MAVEN_HOME%\\bin
5、检测Maven是否安装好,打开cmd,输入命令mvn -v,若出现下图结果则表示安装成功。
6、Maven的配置文件说明与操作
1、在非C盘处新建一个名为repository的文件夹用作后面的本地仓库(路径:D:\\repository)。
2、打开Maven的配置文件如下图的settings.xml。
3、 找到Default:$user.home/.m2/repository,在注释外面加上D:\\repository表示本地仓库的默认下载路径,可以更改。
4、检验本地仓库的路径是否配置成功,打开cmd输入命令:mvn help:system,若出现下列界面,并且所在路径目录下生成了许多文件,则表示配置成功。
5、设置Maven的镜像下载地址,这里我们选择阿里云仓库。在setting.xml配置文件中在标签中添加 mirror 子节点。原始界面如下:
添加阿里云镜像地址后:
7、IntelliJ IDEA中配置Maven
前言:为了方便后续构建java Maven项目,因此IDEA中需要先配置好Maven。
1、打开IDEA,点击File-Settings-Build,Execution,Deployment-Build Tools-Maven,界面如下所示:
配置结果如下:
至此,关于Maven的简介+下载+安装+环境搭建+IDEA上配置Maven,已经全部解决。
以上是关于Maven使用教程(IDEA版)的主要内容,如果未能解决你的问题,请参考以下文章
IOS系统2017版IntelliJ IDEA 创建 hello world Java web Maven项目
Mac OS配置Maven环境教程(IntelliJ IDEA)
Maven3.使用IntelliJ IDEA 使用本地搭建的maven私服,而不是使用默认的maven设置