天天看點

Maven學習八之pom.xml簡介以及用戶端下載下傳包的流程

一 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倉庫并引用。