zoukankan      html  css  js  c++  java
  • maven setting.xml文件配置详情

    1 首先,setting.xml一般存在与两个地方:maven的安装目录/conf/,和${user.home}/.m2/下。他们的区别是在maven安装目录下的setting.xml是所有用户都可以应用的配置,而user.home下的可想而知就是针对某一用户的配置(推荐是在user.home下)。如果两个都进行了配置,则在应用的时候会将两个配置文件进行中和,而且user.home下的setting.xml优先级大于maven安装目录下的。

    2 setting.xml文件中顶层元素一览:

    [html] view plain copy
     在CODE上查看代码片派生到我的代码片
    1. <span style="font-family:Microsoft YaHei;"><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"  
    2.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    3.          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0  
    4.             http://maven.apache.org/xsd/settings-1.0.0.xsd">  
    5.     <localRepository/>  
    6.     <interactiveMode/>  
    7.     <usePluginRegistry/>  
    8.     <offline/>  
    9.     <pluginGroups/>  
    10.     <servers/>  
    11.     <mirrors/>  
    12.     <proxies/>  
    13.     <profiles/>  
    14.     <activeProfiles/>  
    15. </settings></span>  


    下面对各个元素进行解析:

    2.1 localRepository

    建构系统本地仓库的路径,不设置的话默认是在{user.home}/.m2/repository/下,如果想要系统所有用户共用一个本地仓库,则可以在maven安装目录下的setting.xml中进行设置

    2.2 interactiveMode

    指定Maven是否试图与用户交互来得到输入,默认是true

    2.3 usePluginRegistry

    如果设置为true,则在{user.home}/.m2下需要有一个plugin-registry.xml来对plugin的版本进行管理。默认是false

    2.4 offline

    如果不想每次编译的时候都去查找远程中心仓库,就需要设置为true,但前提是本地仓库中已有需要的jar包,默认是false

    2.5 pluginGroups

    该元素包含一系列的pluginGroup元素,每个pluginGroup又有一个groupId,当一个plugin被使用而在命令行中哦给没有指定groupId的时候,就会查询这个列表

    2.6 Servers

    maven除了一般的本地仓库和中央仓库之外,还有一种是远程仓库,一般部署在局域网中供Maven用户使用(成为私服),当maven需要下载构件的时候,它先从私服中请求,如果没有,再到外部的中央仓库中下载,同时下载的构件会在下载到私服中供以后使用,或者用户可以将将构件上传到私服中。

    私服还有一个好处就是存放组织内部自己生成的私有构件,这类构件不可能从外部的中央仓库获取,但是组织内部用户又需要共享使用,这个时候就需要私服了。

    一般私服建立完毕之后不需要认证就可以访问,但是处于安全方面的考虑,需要提供认证信息才能访问这些私服,这时就需要使用servers元素(需要注意的是配置私服的信息是在pom文件中,但是认证信息则是在setting.xml中,这是因为pom文件往往是被提交到代码仓库中供所有成员访问的,而setting.xml是存放在本地的,这样是安全的)。

    而maven是根据pom中的repositories和distributionMnagement元素来决定,然后运行maven clean deploy,这样maven就根据pom中的配置将自己的第三方构件部署在私服上供组织内其他用户使用(注意maven clean deploy和maven clean install的区别:deploy是将该构件部署在私服中,而install是将构件存入自己的本地仓库中)。

    2.7 morriors

    显而易见,镜像,也供maven下载jar包

    2.8 proxies

    当用户 用代理登录下载时需要配置(但是我现在是在使用代理,可是还是没有作用,原因未知?)

    2.9 profiles(??)

    2.10 activeProfiles(??)

  • 相关阅读:
    CentOS 6.5 安装 VNC Server
    vs2008出错
    MySQL 尽量避免使用 TIMESTAMP
    excel中生成32位随机id
    库存扣减和锁
    精通 MySQL 索引
    Java代码性能优化
    RocketMQ 消息丢失场景分析及如何解决
    Java 8 的内存结构
    Spring Boot + MyBatis + MySQL 实现读写分离
  • 原文地址:https://www.cnblogs.com/laobiao/p/5588874.html
Copyright © 2011-2022 走看看