且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Maven学习八之pom.xml简介以及客户端下载包的流程

更新时间:2022-09-09 08:38:14

 

一 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 >

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

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

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>

 

二 客户端下载包流程

比如客户端需要一个junit的jar包

第一步:到本地仓库找该jar包,找到结束。没找到下一步。

第二步:到pom配置的私服仓库去找,即pom.xml配置的repositories标签。如找到下载到本地仓库并引用。没找到下一步。

第三步:到maven的中间仓库去找,如找到同时下载到本地仓库和私服的central仓库并引用。

 

 

参考地址:http://wenku.baidu.com/view/edd1f2b765ce0508763213ad.html

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1046727如需转载请自行联系原作者


woshixuye111