Maven安装 环境搭建 以及一些内容学习

155 阅读3分钟

前言 Maven是什么,有何作用

标准化项目结构

  • idea可用
  • eclipse可用
  • myeclipse可用

方便依赖管理(快速导入jar包)

  • 打开pom.xml
  • 在dependencies写以下标签,就可导入jar包
  • dependency
  • artifactld
  • version

标准的构建流程

总之,利用maven可用非常标准优雅的构建项目

仓库介绍

本地仓库

就是自己计算机上的一个目录

中央仓库

由Maven团队维护的全球唯一仓库

远程仓库

由公司团队搭建的私有仓库

  • 把外网的中央仓库镜像过来
  • 也可存放本公司的私有jar包

比较常用的有 阿里的仓库

阿里的Java一直都是国服yyds

仓库的查找顺序

  • 本地 -》中央
  • 本地 -》远程 -》中央

安装配置

官网下载rar包,解压即安装

这里用apache-maven3.8.6演示

传送门:Maven – Download Apache Maven

image.png

注意!注意!注意!

下载maven前,需要先了解自己idea的版本

如果你是2018版的idea请用3.6.1版本 或之前的。 大概maven版本年份要和idea的版本年份对应起来 不然,后面跑别人项目的时候会有莫名其妙的问题

2018年的3.6.0版本maven传送门:Index of /dist/maven/maven-3/3.6.0/binaries (apache.org)

image.png

配置环境变量

记住解压完成的这层目录

image.png

在 桌面找到此电脑,右键属性,找到高级系统设置

,配置环境变量

image.png 双击path 新建如下变量

image.png

验证成功:

mvn -version

image.png

配置本地仓库

修改conf/setting.xml 的< localRepository >

image.png

配置阿里云私服

修改conf/setting.xml的< mirrors >

image.png

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

image.png

生命周期

1、clean 清理工作

  • pre-clean
  • clean
  • post-clean

2、default 核心工作

比如 编译、测试、打包、安装

  • compile
  • test
  • package
  • install

3、site 报告

产生报告、发布站点

  • pre-site
  • site
  • post-site

同一生命周期内,执行后边的命令,前面的命令会被自动执行

IDEA配置Maven

配置Maven环境

file -》settings -》BuildTools -》maven选自己电脑上的

Maven坐标

groupId

当前Maven项目隶属组织名称 (域名反写:例如com.itheima、mysql)

artifactId

当前Maven项目名称(模块名称:goods-service、mysql-connector-java)

vesion

当前项目版本号(5.1.46)

IDEA创建Maven项目

创建模块

选Maven

Artifact Coordinates填写模块名称、坐标信息

写代码运行

IDEA导入Maven项目

右侧Maven面板,点+号

若无此面板:View-》Appearance-》Tool Window Bars

选中目标项目对应的pom.xml双击

生产力插件

便捷插件:Maven Helper,好吧也一般 安装方法:Settings-》plugins搜

依赖管理

找坐标上Maven官网

使配置的坐标自动生效

settings-》buildTools-》any changes

快捷键 导入本地仓库已有的jar包坐标

坐标的 < scope >标签

依赖范围(scope)

  • 编译环境compile,默认的也是最大的,反正用这个就行
  • 测试环境test
  • 运行环境runtime。例如mysql的jdbc驱动,会用显得专业
  • provided。类似前端的开发时依赖,例如servlet-api
  • system
  • import