Maven简介,主要作用
简介
Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。
主要作用
场景1:例如我们项目需要第三方库(依赖),如Druid连接池、MySQL数据库驱动和Jackson等。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件,Maven软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!确保依赖版本正确无冲突和依赖完整!
场景2:项目开发完成后,想要将项目打成.war文件,并部署到服务器中运行,使用Maven软件,我们可以通过一行构建命令(mvn package)快速项目构建和打包!节省大量时间!
依赖管理:
Maven 可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等。通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。
构建管理:
项目构建是指将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程!
Maven 可以管理项目的编译、测试、打包、部署等构建过程。通过实现标准的构建生命周期,Maven 可以确保每一个构建过程都遵循同样的规则和最佳实践。同时,Maven 的插件机制也使得开发者可以对构建过程进行扩展和定制。主动触发构建,只需要简单的命令操作即可。
Maven安装、配置、Maven集成到IDEA中
2.1maven下载解压
1.先去maven官网下载maven
下载后得到:
解压缩到自己想要的位置(目录不可出现任何中文!!)比如我的放在D盘根目录:
2.2配置maven环境变量
配置maven需要电脑有Java环境,必须包含java_home环境变量!!!!
右键此电脑-----属性-----高级系统设置------环境变量------系统变量-----新建
编辑path环境变量,将刚刚添加的MAVEN_HOME添加到path中
依次点击确定,即可完成环境配置。
2.3检查是否成功
按下win+r---输入cmd---输入mvn-v
如出现以上内容,说明你的maven已经配置好了,很邦啊awa。。。
2.4修改maven默认配置
在maven的解压目录下找到【conf文件夹下的setting.xml文件中】修改这个配置文件,可以对Maven进行配置(如修改仓库地址,设置代理等等);
1. 配置本地仓库地址 conf/settings.xml 55行
<localRepository>D:\repository</localRepository> |
2. 配置中央仓库的国内镜像(提高下载速度),放在<mirrors>标签中
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
3. 配置jdk (jdk版本必须开发环境)
在profiles节点(标签)下添加jdk编译版本 268行附近
<profile>
<id>jdk-17</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>17</jdk>
</activation>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
</properties>
</profile>
- 基于IDEA创建的Maven 项目
Maven工程相对之前的工程,多出一组gavp属性,gav需要我们在创建项目的时指定,p有默认值,后期通过配置文件修改。既然要填写的属性,我们先行了解下这组属性的含义!
Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,其中前三个是必要的,而 Packaging 属性为可选项。这四个属性主要为每个项目在maven仓库总做一个标识,类似人的《姓-名》。有了具体标识,方便maven软件对项目进行管理和互相引用!
GAV遵循一下规则:
GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。 如:com.taobao.tddl ArtifactID 格式:产品线名-模块名 如:正例:tc-client / uic-api / tair-tool / bookstore Version版本号格式:主版本号.次版本号.修订号 1.0.0 |
3.1 File--> New-->project-->New Project-->创建一个普通JavaSE的maven项目
注意:此处省略了version,直接给了一个默认值<version>1.0-SNAPSHOT</version>
3.2 File--> New-->project-->Maven Archetype-->选择maven模版-->选择webapp-->创建一个javaEE的web的maven项目
- pom.xml Maven 项目管理文件
<!-- 模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 公司或者组织的唯一标志 -->
<groupId>com.bdqn</groupId>
<!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
<artifactId>maven-test-01</artifactId>
<!-- 版本号 -->
<version>1.0-SNAPSHOT</version>
- 依赖管理引入第三方依赖的jar坐标
每一个jar包都有一个唯一的坐标,通过坐标找到对应的jar包。
坐标组成:
|
<!-- 引入jdbc.jar的依赖坐标 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
Maven依赖管理
本地仓库:在计算机本地创建文件夹
中央仓库:线上网址。
远程仓库:远程的仓库网址(自己配置)