博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven pom.xml文件详解
阅读量:7238 次
发布时间:2019-06-29

本文共 2514 字,大约阅读时间需要 8 分钟。

一 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仓库并引用。

转载于:https://www.cnblogs.com/jswang/p/6927301.html

你可能感兴趣的文章
objc/runtime.h 查看私有api
查看>>
Linux下执行jmeter脚本
查看>>
java笔记之分支、循环语句
查看>>
我的Ajax学习笔记
查看>>
Struts2遇到Caused by Action class not found这类问题怎么解决
查看>>
ViewPager实现滑动翻页效果
查看>>
自定义HorizontalScrollView的scrollBar
查看>>
轻量高效的开源JavaScript插件和库
查看>>
CSS3-background-clip+background-origin
查看>>
linux yum 安装mysql
查看>>
种下一棵树:有旋Treap
查看>>
设计模式——(Abstract Factory)抽象工厂“改正为简单工厂”
查看>>
图灵热点之阅读篇——七月图书推荐
查看>>
bzoj5407: girls
查看>>
BootStrap selectpicker后台动态绑定数据
查看>>
【转】正则基础之——贪婪与非贪婪模式
查看>>
关于 android.net.conn.CONNECTIVITY_CHANGE 7.0之后取消
查看>>
自动化测试的理解
查看>>
微信小程序事件
查看>>
空间直角坐标系、大地坐标系、平面坐标系、高斯平面直角坐标系(转)
查看>>