一 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.xy.company</groupid>
<artifactid>mavenresource</artifactid>
<packaging>jar</packaging>
<version>1.0-snapshot</version>
<name>mavenresource</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>
</project>
pom.xml檔案基本節點介紹:
<project>檔案的根節點。
<modelversion>pom.xml使用的對象模型版本。
<groupid>建立項目的組織或團體的唯一id。
<artifactid>項目的唯一id,可視為項目名。
<packaging>打包物的擴充名,一般有jar,war,ear等。
<version>産品的版本号。
<name>項目的顯示名,常用于maven生成的文檔。
<url>組織的站點,常用于maven生成的文檔,可以放你公司的首頁位址。
<description>項目的描述,常用于maven生成的文檔。
<repositories>資源位址,所有的依賴包将從次位址下載下傳,其中如果snapshot為資源快照,相對不穩定,而release為穩定版本。
<pluginrepositories> 插件位址,因為maven的所有功能都是使用插件來實作功能的,是以需要從特定的位址下載下傳插件包。
<build>功能集标簽,在此标簽下面可以定義一系列的插件以實作功能,常用插件有以下兩種:
• maven-surefire-plugin單元測試的插件,在此插件下面可以設定一些列的參數
• maven-compiler-plugin代碼編譯插件,在用此插件的時候一定要設定source的版本,預設的是jdk1.3
<dependencies>項目需要的所有依賴的包。
其中repositories和pluginrepositories就是放私服的位址,即我們前幾講的nexus的public倉庫組位址。
<project >
<repositories>
<repository>
<id>xy-central</id>
<name>xycentral</name>
<url>http://localhost:8080/nexus-2.2-01/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginrepositories>
<pluginrepository>
<id>xy-central</id>
<name>xycentral</name>
<url>http://localhost:8080/nexus-2.2-01/content/groups/public/</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatepolicy>never</updatepolicy>
</releases>
</pluginrepository>
</pluginrepositories>
二 用戶端下載下傳包流程
比如用戶端需要一個junit的jar包
第一步:到本地倉庫找該jar包,找到結束。沒找到下一步。
第二步:到pom配置的私服倉庫去找,即pom.xml配置的repositories标簽。如找到下載下傳到本地倉庫并引用。沒找到下一步。
第三步:到maven的中央倉庫去找,如找到同時下載下傳到本地倉庫和私服的central倉庫并引用。