Maven安装
Maven下载地址
http://maven.apache.org/download.cgi
Maven配置环境变量
添加M2_HOME和MAVEN_HOME到PATH中
验证安装
1 | mvn -version |
Maven本地资源库
在文件%MAVEM_HOME%/conf/setting.xml中
更新localRepository
1 | <localRepository>D:\Program Files\apache-maven-3.6.2\repository</localRepository> |
Maven中央储存库
阿里云中央储存库
1 | <mirror> |
Maven远程储存库
在pom.xml中设置
Java.net资源库
1 | <repositories> |
JBoss Maven资源库
1 | <project ...> |
Maven依赖机制
只需要在pom.xml总声明做表,则maven会自动下载jar包,并保存在Maven本地仓库中
例子:log4j
1 | <dependencies> |
Maven搜索顺序
- 在Maven本地仓库中搜索,没找到往下,否则退出
- 在Maven中央仓库搜索,没找到往下,否则退出
- 在Maven远程仓库搜索,没找到提示错误信息,否则退出
Maven手动添加jar包到本地资源库
因为有一些jar包是不支持maven的,所以需要手动添加
比如:kaptcha,它是一个流行的第三方Java库,它被用来生成 “验证码” 的图片,以阻止垃圾邮件,但它不在 Maven 的中央仓库中。
下载 “kaptcha”,将其解压缩并将 kaptcha-version.jar 复制到其他地方,比如:C盘。发出下面的命令:
1 | mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=jar |
其中
-Dfile指文件路径DartifactId指文件名字Dversion文件版本Dpackaging文件版本安装完毕之后就可以像正常jar包一样在pom.xml中声明
Maven POM
POM例子
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" |
每个项目只有一个POM文件
所有的POM文件的项目元素有三个必填字段:
groupId,artifactId,versionpom.xml的根元素是:
project
| 节点 | 描述 |
|---|---|
| groupId | 这是项目组的编号,这在组织或项目中通常是独一无二的。 例如,一家银行集团com.company.bank拥有所有银行相关项目。 |
| artifactId | 这是项目的ID。这通常是项目的名称。 例如,consumer-banking。 除了groupId之外,artifactId还定义了artifact在存储库中的位置。 |
| version | 这是项目的版本。与groupId一起使用,artifact在存储库中用于将版本彼此分离。 例如:com.company.bank:consumer-banking:1.0,com.company.bank:consumer-banking:1.1 |
Maven外部依赖
在项目中指定自己所用的库,它可以包含 jar 文件,但是可能无法在任何 Maven 存储库找到,那么需要从部下载。
1 | <dependency> |
外部依赖(JAR库的位置)可以在 pom.xml 中配置为与其他依赖的方式相同;
指定 groupId 同样作为库的名称;
指定 artifactId 同样作为库的名称
指定范围的系统;
指定相系统项目的位置;