这里写自定义目录标题
一. maven是什么
maven是专门用来管理和构建java项目的工具,提供了标准化的项目结构,标准化的构建流程-编译、测试、打包、部署,依赖管理机制
二. maven 下载安装
官网:https://maven.apache.org/download.cgi
解压当本地然后配置环境变量就可以了用了,操作很简单直接百度即可
2.1 为什么要配置环境变量
我们先来看一下没有配置环境变量是什么情况
从上面两张图可以看到,只有在maven的bin目录下才能执行maven命令,当我们想在其他目录下也能执行命令时,就需要把这个bin目录告诉windows,实际操作就是配置环境变量,下面我们来看一下配置环境变量之后的效果
三. 如何使用maven
命令 | 说明 |
---|---|
clean | 清理target目录 |
validate | 验证 |
compile | 编译 |
test | 测试 |
package | 打包 |
verify | 检查 |
install | 安装到本地仓库 |
site | 生成站点 |
deploy | 发布到远程服务器上 |
3.1 直接使用命令完成项目编译、测试、打包、安装、部署
找到本机中要打包的项目路径,然后shift+右键,选择在此处打开powershell窗口
然后就可以使用命令了,如下,其他命令同样操作即可
3.2 在idea中使用maven命令
idea自带了maven,这里你可以重新配置,主要是便于管理,修改如下
如何在idea中使用maven命令
3.2.1.右侧maven面板
3.2.2.idea终端上操作
喜欢敲命令的,也可以在idea中敲
四.maven 依赖
4.1 依赖范围
scope标签 可选值:compile 、test、provide、runtime、system
举例说明:
test作用域的jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
provided作用域的jar包,一般是工具类,最后不参与运行,获取避免冲突
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>provided</scope>
<optional>true</optional>
</dependency>
runtime作用域的jar包,一般的sql连接,不参与编译,包括各种数据库连接工具
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
system作用域的jar包,设置成system之后就不会再从maven仓库拿了,一般自己开发的程序,直接本地引用
要配合systemPath标签一起使用,指定路径
<dependency>
<groupId>com.filesystem</groupId>
<artifactId>filesystem</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/filesystem-0.0.1-SNAPSHOT.jar</systemPath>
</dependency>
4.2 maven项目继承
举例子,数据中心平台下有 A、B、C、D四个系统,也就是四个maven项目,会有一些公共的依赖,这些就可以再建一个父级工程,主要是依赖管理,如何创建多模块的maven项目大家自己百度即可
子模块继承父模块注意要点如下
4.2.1 父工程 类型是pom类型
<packaging>pom</packaging>
4.2.2 子工程中用标签引用
默认值是…/pom