首先maven很简单,就是根据pom.xml中的配置来加载jar包的。在服务器端有一个jar包的超级大仓库,里面有各种各样的jar包。
然后本地可以选择一个文件夹,这个文件夹叫本地库,可以放自己下载的jar包。
每个jar可以成为一个依赖(项目依赖jar包构建起来),为了区分不同的jar包(也就区分不同的依赖),给每个依赖设置一个唯一标志,maven里面叫做坐标,包含jar的名称和版本信息。
所以可以在pom.xml里面编辑依赖的坐标集合,告诉maven我的项目需要哪些jar,然后就交给maven就行了,不用自己再去下载管理jar包。
二,依赖的坐标样式
打开上篇文章[Spring那些事(1)]中自动生成pom.xml如下,我们可以看到一个很明显的依赖和坐标信息。
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.maoge</groupId>
<artifactId>SpringInAction</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>SpringInAction Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>SpringInAction</finalName>
</build>
</project>
大体也能猜出依赖如下,其坐标为groupId:junit,artifactId:junit,version:3.8.1
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
也就是说,本来如果我们要导入一个junit3.8.1.jar类似的jar包,现在只需要在pom.xml的和之间添加这个依赖就OK了。maven会通过依赖的坐标找到唯一对应的jar包构建到项目中来。
三,如何确定依赖坐标是什么
比如现在我要导入一个非常常用的包,就是mysql-connector-java-5.1.39-bin.jar,我怎么知道填写哪个坐标呢。
很简单,有一个专门查询坐标的网站,网址:http://mvnrepository.com/。
输入mysql-connector后点击Search,显示的第一个就是MySQL Connector/J,点开之后会有很多版本,我们点开5.1.39版本,看到Maven对应的文字是:
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
OK,直接把这部分复制到pom.xml即可
四,如何知道jar包已下载并构建到项目里面
很简单,当吧一个坐标复制到pom.xml中,并按Ctrl+S保存后,eclipse右下角会出现"Building Workspace"进度条,当进度走完即代表构建完成。
五,总结
OK,其实就是这么简单,比找jar包好弄多了,而且也不怕下载到太陈旧甚至是假的jar包。