我们在工作中可能会在IDE当中有很多项目
这些项目多数需要引用一些第三方的jar包
但是对于相同类型的项目 , 引用的jar包很可能是重复的

在以往 , 我们需要在每个项目中都拷贝一份这些jar包 , 以保证这些项目可以独立运行 , 这样显然不好
而且对于同一个jar包来说 , 它也会存在不同的版本 , 缺乏统一的管理

对于较为复杂的项目 , 可能会有主项目和若干个子项目 , 他们之间的依赖关系也难以维护

Maven就是用来解决项目管理中遇到的这些问题
它引入了仓库的概念 , 实现了对jar包的统一管理

安装与配置

  1. 解压存放到一个固定的目录当中
    然后配置环境变量 , 例如
    MAVEN_HOME=D:/maven-3.3.9
    在PATH当中添加
    %MAVEN_HOME%/bin

    Mac平台直接修改 .bash_profile文件

在控制台输入mvn -version正确显示maven的版本代表配置正确

  1. 修改maven目录下conf/setting.xml文件
    添加本地仓库位置 , 例如

    1
    <localRepository>/Users/Sookie/Documents/apache-maven-3.3.9/mavenLib</localRepository>
  2. 在myeclipse/eclipse当中配置maven
    Alt text
    点击Add选择到Maven的根目录即可
    Alt text
    然后在User Setting里面设置setting.xml文件的根目录( 就是上一步当中修改的setting.xml文件 )

第一个Maven项目

在myeclipse当中新建一个maven项目
结构如下
Alt text
src/main/java用于存放源代码
src/main/test用于存放测试代码
target目录用于存放编译 打包后的输出文件
这是maven项目的通用约定

如果要引入第三方jar包 , 需要编辑pom.xml文件

这里在引入jar包的时候 , 如果本地仓库中没有 , 则会去maven官方的服务器上去下载
下载后保存到本地仓库
如果官方没有这个jar包 , 也可以自己放进仓库里

这里尝试引入几个jar包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<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>maven_demo</groupId>
<artifactId>hello_maven</artifactId>
<version>0.0.1-SNAPSHOT</version>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.2</version>
</dependency>
<dependency>
<groupId>mongo</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>mongo</groupId>
<artifactId>morphia</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
</project>

观察本地仓库的目录结构就可以发现 , 从左到右依次是groupId artifactId version
Alt text
如果要放入自己的jar包 , 按照这个结构去创建目录即可

引入以后 , 刷新项目 , 引入的jar包就会出现在这里
Alt text
在代码中可以直接使用