Maven基础:
作用:
1.提供一套标准化的项目结构(用于例如idea导入到eclipse或其他软件中,项目结构不会紊乱)
2.提供一套标准化构建流程(编译、测试、打包、发布...)(右键Maven-run-自行选择)
3.提供一套依赖管理机制(直接可以下载jar包)
jar包仓库:本地仓库、私服仓库(公司自己搭建的仓库)、中央仓库(在国外)
部分公司会搭建私服仓库,先把中央仓库下载下来,有利于本地仓库快速访问
中央仓库地址https://repo1.maven.org/maven2/
Maven安装配置:
1.下载
apache-maven-3.6.1-bin.zip 下载https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/2.配置path环境变量
cmd命令符 mvn -version 检查是否配置成功
3.配置本地仓库:修改conf/settings.xml中的<localRepository>为指定一个目录(一般在Maven的安装路径下新建一个mvn_rep文件夹作为本地仓库)
xml中的<localRepository>/path/to/local/repo</localRepository>复制出来(localRepository是被注释掉的)
<!-- 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>D:\apache-maven-3.6.1\mvn_rep</localRepository>
4.配置阿里云私服
修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
Maven常用命令:
在maven项目下的图形文件夹中,按住Shift点右键空白处,选择打开Powershell窗口
mvn compile:编译
mvn clean:清理
mvn test:测试
mvn package:打包
mvn install:安装
Maven生命周期:
clean:清理工作
default:核心工作,例如编译、测试、打包、安装等为一个周期(在同一周期内,例如执行了其中的打包,那么会自动执行编译、测试,然后再打包)
在idea中使用Maven:
配置Maven环境:
File→搜索Maven→点击目录Maven→Maven home path选择...你的安装路径→User settings file勾选Override→选择你的配置文件conf/settings。xml(因为里面配置了阿里云私服)
Maven坐标详解:(在maven的pom.xml也有显示)
groupId:组织名称,一般为公司域名反着写
artifactId:模块名,具有功能的模块,例如:order-service订单管理、goods-service商品管理
version:版本号
创建Maven项目:
File→Project Structure→点击Modules→点击+号→点击new modules→点击Maven→点击下一步→参考下图,修改名称,修改组织名称,最下面的两个Maven坐标看情况修改→完成
创建完之后,test中可能没有resource文件夹,可以创建一个Direactory。webapp也没有显示,现在暂时用不到,后面会讲。
idea导入Maven项目:
右侧工具栏,有个Maven,点击打开,点击上面的+号,选择Maven文件打开,然后双击pom.xml文件即可打开
若没有显示Maven,可以点击 最上面一排目录:View→Appearance→Tool Window Bars
若右键没有显示这些,需要到File→settings→plugins→搜索Maven helper→点击安装→重启idea
依赖管理:
在pom.xml中
<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> <scope>test<scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.2</version> </dependency> </dependencies>
上面的代码也可以用idea自带的模板,右键General...点击Dependency,例如搜索mysql,可能需要多搜索几遍,加载需要时间(搜的是本地仓库的)
当依赖删除时,依赖包也会自动删除
如何设置,每次添加依赖时,不需要手动刷新,是自动刷新:
File→settings→点击Build→点击Build Tools→点击Any changes
依赖范围:
编译环境:main包下的
测试环境:test包下的
运行环境:右键整个Maven项目,点击run Maven 选择package打包生成一个压缩包war包,然后解压出来后在Web-INF下有个lib,lib会显示所依赖的jar包,这整个过程为运行环境