天天看點

關于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

-->

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