一.Maven
maven是一款项目管理工具,可以用来管理jar包
POM ( project object model ) : 项目对象模型
-
maven三种仓库
-
本地仓库
- 开发者本地已经下载的或者自己打包所有jar包的所有依赖的仓库,本地仓库的配置在conf/setting.xml中
-
<localRepository>D:\Java_qianfeng\repository</localRepository>
默认本地路径是${user.home}/.m2/repository,
* 中央仓库
* 即maven默认下载的仓库地址,是maven维护的,默认的中央仓库地址是:[http://repo1.maven.org/maven2](http://repo1.maven.org/maven2)
* setting.xml中已经写了,但是被注释掉,根据情况确定是否需要添加
* 私有仓库
* 私有仓库可以理解为自己公司的仓库,也叫Nexus私服 .
* 中央仓库、私有仓库也可以称之为远程仓库。
* 首先从本地仓库查询,本地仓库如果查到直接编译,如果查不到就根据配置去中央仓库查询还是私服查询,查询私服的时候私服如果有就直接返回,私服没有就先去中央仓库下载然后保存到私服再返回。
二.Maven的安装和配置
-
安装
- 到 https://maven.apache.org/ 下载,纯净版,可以直接解压就可以使用
-
配置
-
配置环境变量
- 配置MAVEN_HOME,在path中引入MAVEN_HOME(注意bin的位置),
-
配置setting.xml
引入本地仓库路径
配置阿里云镜像,(国内资源,下载速度较快)
配置jdk版本
-
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--
引入本地仓库
-->
<localRepository>D:\Java_qianfeng\repository</localRepository>
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<!--
配置阿里云镜像(远程仓库)
-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<!--
配置jdk版本
-->
<profile>
<id>jdk12</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>12</jdk>
</activation>
<properties>
<maven.compiler.source>12</maven.compiler.source>
<maven.compiler.target>12</maven.compiler.target>
<maven.compiler.compilerVersion>12</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
</settings>
</pre>
三.创建Maven项目
a.eclipse配置maven环境
- Preferences->Maven->Installations->add->Installation home:D:\Java_qianfeng\apache-maven-3.5.3 ; Installation name:自动生成 apache-maven-3.5.3 ->finish->勾选 apache-maven-3.5.3 ->Apply->User Settings->Global Settings和User Settings都选择配置好的setting.xml文件(例:D:\Java_qianfeng\apache-maven-3.5.3\conf\settings.xml) ; Local Repository : 会自动识别出本地仓库的路径,如果没识别出来,点击一下Updata Settings ,还没出来,可能是setting.xml文件配置错误(例:D:\Java_qianfeng\repository)->Apply and Close
b.eclipse添加jar包
双击pom.xml文件->如果本地仓库中有的话就点击Dependencies->add->输入需要添加的jar包名搜索->点击jar包->OK
双击pom.xml文件->如果本地仓库中没有的话就https://mvnrepository.com/这个网站->搜索需要的jar包,然后选择需要的版本点开->选择Maven,会生成Maven的引入代码->复制出来->粘贴到pom.xml文件中(在< /project之前>),并用< dependencies>复制的maven代码< /dependencies>标签包起来
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yanm</groupId>
<artifactId>mavendemo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
c.ideal配置maven环境
- file->setting->maven->Maven home directory:选择maven路径(例:D:/Java_qianfeng/apache-maven-3.5.3) ; User settings file : 勾选后面的Override ->选择配置好的setting.xml文件(例:D:\Java_qianfeng\apache-maven-3.5.3\conf\settings.xml)->Local repository会自动识别本地仓库(例:D:\Java_qianfeng\repository)->Apply->OK
d.ideal添加jar包
如果jar包在本地仓库中 : 双击pom.xml文件->alt + insert快捷键->Dependency->输入需要添加的jar包搜索->选择搜索到的jar包->add
如果jar包不在本地仓库中:双击pom.xml文件->进入网站https://mvnrepository.com/->搜索需要的jar包->然后选择需要的版本->选择Maven,会生成Maven的引入代码->复制出来->粘贴到pom.xml文件中(在< /project之前>) , < dependencies>复制的maven代码< /dependencies>标签包起来
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yanm</groupId>
<artifactId>mavencode</artifactId>
<version>1.0-SNAPSHOT</version>
<!--添加Junit的jar包-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
e.注意
- 添加jar包的< dependencies>标签中的语句,是指将项目部署到服务器上的时候自动下载jar包(就是说换个电脑的时候,会自动把jar包从中央仓库中下载回来用),当打包成war包,进行发布的时候,会把实体依赖的jar包添加进去