关于maven至少得知道这些事儿吧

一,前言

前言是跟技术不相关的但是不是废话的内容,前言很有用!

首先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包。


如有问题请扫码联系我
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页