Maven介绍
Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。
总结:Maven就是一个软件,掌握软件安装、配置、以及基本功能**(项目构建、依赖管理)**使用就是本课程的主要目标!
依赖管理,不使用maven需要找到jar包手动导入到项目中,麻烦而且会有版本冲突问题。
项目构建,idea和eclipse也可以构建项目,还为什么使用maven呢?使用idea和eclipse开发构建时,构建的项目格式不一致。
Maven安装和配置
官网:Maven – Download Apache Maven
安装
安装前置条件 :本机安装java环境并配有JAVA_HOME环境变量,因为Maven是java编写的,运行需要jvm环境。
下载压缩包解压即可
配置
- java环境,并且配置JAVA_HOME
在系统变量中添加
在path中添加
- 配置Maven环境变量MAVEN_HOME和path
MAVEN_HOME,1.0版本之前以MAVEN_HOME命名,之后更好级的版本以M2_HOME命名
path
测试 mvn-v 查看是否安装成功
修改maven配置文件
我们需要修改maven的配置文件maven/conf/settings。来修改maven的默认配置。
1 依赖本地缓存的位置(本地仓库位置)第55行
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>E:/repository</localRepository>
2 maven下载镜像地址改用阿里云镜像
<!-- mirrors
| This is a list of mirrors to be used in downloading artifacts from remote repositories.
|
| It works like this: a POM may declare a repository to use in resolving certain artifacts.
| However, this repository may have problems with heavy traffic at times, so people have mirrored
| it to several places.
|
| That repository definition will have a unique id, so we can create a mirror reference for that
| repository, to be used as an alternate download site. The mirror site will be the preferred
| server for that repository.
|-->
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
3 默认项目构建时jdk版本 以下时改用jdk17
<!--在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
idea中带有maven,但是maven中央仓库是外国的下载比较慢而且默认本地仓库在c盘,建议使用自己配置的maven。
需要注意的是idea是以项目为单位的,因此在这个项目中设置的maven,在其他项目不生效,在编写一个新项目时要查看maven。