Maven简介

maven基于项目对象模型(POM)java项目管理和构建自动化工具,默认的配置有极高的复用性,避免了jar包的拷贝和重复。

maven的基本原理和使用(Maven笔记之一简介安装)(1)

Maven安装(Mac)

强烈推荐使用homebrew进行安装

brew install maven

如果还没有安装homebrew,请使用如下命令安装:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装完成后使用如下命令验证

mvn -v

maven的基本原理和使用(Maven笔记之一简介安装)(2)

Maven仓库配置文件

Maven仓库配置文件放在如下文件中:

/Users/${user.home}/.m2/settings.xml

缓存在本地的Maven包放在如下文件夹中:

/Users/${user.home}.m2/repository

Maven仓库分为如下3种:

  • 本地仓库:仅在本地使用

  • 私有仓库(局域网仓库):一般用在公司内部使用

  • 公共仓库:默认都可以使用

如果本地安装后没有.m2文件夹,可以执行如下命令生成:

mvn help:system

Maven基本概念

Maven项目是以坐标(groupId, artifactId和version)进行唯一确定项目:

  • groupId:项目的分组,同一个项目组最好使用同一个

  • artifactId:项目的名字

  • version:项目的版本号

其中项目版本号分为:

  • 用于保存开发过程中的不稳定版本。

  • 依赖SNAPSHOT,如果不改变版本号,直接编译打包时,maven会自动从镜像服务器上下载最新的快照版本。

  • RELEASE版本

    • 保存稳定的发行版本。

    • 依赖RELEASE,如果不改变版本号,编译打包时如果本地已经存在该版本的模块则不会主动去镜像服务器上下载。

    Maven工程生成

    可以通过如下命令生成Maven项目,之后可以通过Eclipse和Intellij导入Maven项目。

    mvn archetype:generate -DgroupId=com.maven.test -DartifactId=maven-test -Dpackage=com.maven.test -Dversion=0.0.1-SNAPSHOT

    Maven编译和发布

    可以通过如下命令进行本地编译:

    mvn clean package

    发布分为本地发布和线上发布:

    本地发布可以将jar包发布到本地,本机上的其他项目可以依赖该项目,但是其他人无法使用,命令如下

    mvn install

    将本地库发布到maven仓库,大家就都可以使用该项目了,命令如下:

    mvn deploy

    ,