settings.xml是Maven的配置文件,下面解释一下其中的配置含义:
settings.xml存在于两个地方:
1.安装的地方:$M2_HOME/conf/settings.xml
2.用户的目录:${user.home}/.m2/settings.xml
前者又被叫做全局配置,后者被称为用户配置。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml优先。
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!--指定本地仓库存储路径。默认值为~/.m2/repository 即 ${user.home}/.m2/repository。 --> <localRepository>d:/mvn-repository</localRepository> <!--指定Maven是否需要和用户输入进行交互。true:需要与用户交互;false:使用一个合理的默认值。默认值为true。 --> <interactiveMode>true</interactiveMode> <!--指定是否使用plugin-registry.xml文件来管理插件版本。设为true表示使用。默认值为false。--> <usePluginRegistry>false</usePluginRegistry> <!--指定是否在离线模式下运行。设为true表示项目构建要在离线模式下运行,默认值为false。 --> <offline>false</offline> <!-- 指定插件groupId列表,用于搜索时插件的groupId没有明确规定。 --> <pluginGroups> <!-- 指定使用插件查找进一步的组标识符 --> <pluginGroup>com.micmiu.plugins</pluginGroup> </pluginGroups> <!-- 指定这台机器连接到网络的代理服务器的列表。除非另有规定(系统属性或命令行开关), 列表中配置的第一代理将被激活使用。--> <proxies> <!-- 配置代理服务器的相关参数 --> <proxy> <!-- 代理标识ID,默认值:default --> <id>micmiuProxy</id> <!-- 指定是否激活,默认值:true --> <active>true</active> <!-- 指定代理协议,默认值:http --> <protocol>http</protocol> <!-- 指定代理认证的用户名 --> <username>micmiu</username> <!-- 指定代理认证用户的密码 --> <password>mypwd</password> <!-- 指定代理服务器的主机名 --> <host>micmiu.com</host> <!-- 指定代理服务的端口 默认值:8080 --> <port>80</port> <!-- 指定不被代理的主机名列表。多个用|分隔。--> <nonProxyHosts>ctosun.com|ctosun.micmiu.com</nonProxyHosts> </proxy> </proxies> <!-- 这是一个认证配置的列表,系统内部根据配置的serverID使用。认证配置用于maven链接到远程服务--> <servers> <!-- 指定的身份认证信息用于连接到一个特定的服务器时,确定系统内的唯一的名称(简称下面的'id'属性)。--> <server> <!-- 这是server的id(注意不是用户登陆的id)。该id与distributionManagement中repository元素的id必须要匹配。--> <id>micmiu-releases</id> <!-- 服务器认证的用户名 --> <username>michael</username> <!-- 服务器认证的用户对应的密码 --> <password>mypwd</password> </server> <!-- 另一个示例 私钥/密码 --> <server> <id>micmiu-snapshots</id> <!-- 认证时使用的私钥文件。 --> <privateKey>/home/micmiu/.ssh/id_dsa</privateKey> <!-- 认证时使用的私钥密码,没有密码就设为空 --> <passphrase>mypwd</passphrase> <!-- 目录被创建时的权限设置。其值对应了unix文件系统的权限,如664,或者775 --> <directoryPermissions>775</directoryPermissions> <!-- 仓库文件创建时的权限设置。其值对应了unix文件系统的权限,如664,或者775。 --> <filePermissions>664</filePermissions> </server> </servers> <!-- 指定镜像列表,用于从远程仓库下载资源 --> <mirrors> <!-- 指定仓库的镜像站点,代替一个给定的库。该镜像藏库有一个ID相匹配的mirrorOf元素。 ID是用于继承和直接查找目的,必须是唯一的。--> <mirror> <!--该镜像的唯一标识符。id用来区分不同的mirror元素。 --> <id>mirrorId</id> <!--被镜像的服务器的id,比如:central,不能和id匹配。--> <mirrorOf>central</mirrorOf> <name>micmiu for dev.</name> <url>http://dev.micmiu.com/repo/maven2</url> </mirror> </mirrors> <!-- 这是一个可以在各种不同的方式激活的配置文件列表,并可以修改构建过程。在settings.xml中提供的信息, 旨在提供本地机器允许建立在本地环境中工作的具体路径和库位置。有多种方式可以激活配置属性:一种在settings.xml中<activeProfiles>指定; 另一种实质上依赖于系统属性,无论是匹配特定的属性值或只是测试到它的存在.配置文件也可以根据JDK版本的前缀进行激活,1.4 可以激活1.4.2_07 注:对于在settings.xml中定义的配置,你仅限于指定资源仓库、插件仓库和用于插件在POM中变量的自由形式属性的定义 --> <profiles> <!-- 指定生成过程的介绍,使用一个或多个上述机制被激活。对于继承而言,激活通过<activatedProfiles/>或命令行配置文件, 配置文件必须有一个唯一的ID。此配置文件的例子使用的JDK版本触发激活。--> <profile> <!--该配置的唯一标识符。 --> <id>jdk-1.4</id> <!--自动触发配置文件的逻辑定义。Activation的逻辑配置决定了是否开启该profile。activation元素并不是激活profile的唯一方式。 settings.xml文件中的activeProfile元素可指定需要激活的profile的id。 profile也可以通过在命令行,使用-P标记和逗号分隔的列表来显式的激活 --> <activation> <!--指定是否激活的标识 默认值为false--> <activeByDefault>false</activeByDefault> <!--当匹配的jdk被检测到,profile被激活。例如,1.4激活JDK1.4,1.4.0_2,而!1.4激活所有不是以1.4开头的JDK版本。--> <jdk>1.4</jdk> <!-- 当检测到匹配的操作系统属性时,指定该配置文件将被激活, --> <os> <!--激活profile的操作系统的名字 --> <name>windows 7</name> <!--激活profile的操作系统所属家族(如 'windows') --> <family>windows</family> <!--激活profile的操作系统体系结构 --> <arch>x86</arch> <!--激活profile的操作系统版本--> <version>6.1</version> </os> <!-- 检测系统对应的属性和值(该值可在POM中通过${属性名称}引用),配置就会被激活。 如果值字段是空的,那么存在属性名称字段就会激活 --> <property> <!-- 属性的名称 --> <name>mavenVersion</name> <!-- 属性的值 --> <value>3.0.4</value> </property> <!-- 通过检测该文件的是否存在来激活配置。missing检查文件是否存在,如果不存在则激活profile;exists则会检查文件是否存在,如果存在则激活。--> <file> <!--如果指定的文件存在,则激活profile。 --> <exists>/usr/local/micmiu/workspace/myfile</exists> <!--如果指定的文件不存在,则激活profile。--> <missing>/usr/local/micmiu/workspace/myfile</missing> </file> </activation> <!-- 对应profile的扩展属性列表。Maven属性和Ant中的属性一样,可以用来存放一些值。这些值可以在POM中的任何地方使用标记${X}来使用, 这里X是指属性的名称。属性有五种不同的形式,并且都能在settings.xml文件中访问。 1. env.X: 表示系统环境变量。例如,"env.PATH" 等同于 $path环境变量(在Windows上是%PATH%)。 2. project.x:表示 POM中对应的属性值。 3. settings.x: 表示 settings.xml中对应属性值。 4. Java系统属性: 所有可通过java.lang.System.getProperties()访问的属性都能在POM中使用该形式访问。 5. x: 在<properties/>元素中,或者外部文件中设置,以${someVar}的形式使用。 --> <properties> <user.blog>www.micmiu.com</user.blog> </properties> </profile> <!-- 这是另一个配置文件,根据系统属性来激活 --> <profile> <!--该配置的唯一标识符。 --> <id>env-dev</id> <activation> <property> <!-- 被用来激活配置文件的属性的名称 --> <name>target-env</name> <!-- 被用来激活配置文件的属性的值 --> <value>dev</value> </property> </activation> <!-- 指定配置文件的扩展配置 内容采取property.value的形式 --> <properties> <tomcatPath>/path/to/tomcat/instance</tomcatPath> </properties> </profile> <profile> <id>repo-dev</id> <!-- 配置远程仓库列表 --> <repositories> <!-- 远程仓库的配置信息 --> <repository> <!-- 远程仓库唯一标识--> <id>nexus</id> <!-- 远程仓库名称 --> <name>nexus for develop</name> <!-- 远程仓库URL --> <url>http://192.168.1.8:8080/nexus/content/groups/public/</url> <layout>default</layout> <releases> <!--是否使用这个资源库下载这种类型的构件 默认值:true--> <enabled>true</enabled> <!--指定下载更新的频率。这里的选项是:always(一直),daily(每日,默认值),interval:X(这里X是指分钟),或者never(从不)。 --> <updatePolicy>daily</updatePolicy> <!--当Maven验证构件校验文件失败时该怎么做fail(失败)或者warn(告警)。--> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <!--是否使用这个资源库下载这种类型的构件 默认值:true--> <enabled>true</enabled> <!--指定下载更新的频率。这里的选项是:always(一直),daily(每日,默认值),interval:X(这里X是指分钟),或者never(从不)。 --> <updatePolicy>daily</updatePolicy> <!--当Maven验证构件校验文件失败时该怎么做fail(失败)或者warn(告警)。--> <checksumPolicy>warn</checksumPolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>local nexus</name> <url>http://192.168.1.8:8080/nexus/content/groups/public</url> <layout>default</layout> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <!-- 指定被激活的配置文件--> <activeProfiles> <activeProfile>repo-dev</activeProfile> </activeProfiles> </settings>
相关推荐
3. **直接替换**:根据题目描述,你可以直接将下载的名为"阿里云镜像的mavensettings.xml配置文件直接替换使用"的文件替换现有的`$USER_HOME/.m2/settings.xml`。请注意,替换前请备份原有的`settings.xml`,...
maven settings.xml配置文件,亲试无问题,可以使用,eclipse和Myeclipse都可以
Maven作为Java领域最流行的构建工具之一,它的核心配置文件`settings.xml`是理解Maven工作原理的关键。这篇博客文章“Maven settings.xml配置理解”深入探讨了这个主题,我们将在此详细阐述其主要内容。 `settings....
一、Idea关联的maven本地仓库配置文件settings.xml (1)必须使用默认文件名 D:\developsoft\javaweb\commonPlugins\maven\apache-maven-3.8.1_first\conf\settings.xml 二、Myeclipse关联的maven本地仓库配置文件...
在使用maven的时候默认缓存本地仓储到C盘,为了转移目录,我们设置settings.xml,当国外网络不理想的时候,为了快速访问国内仓储,我们设置settings.xml。此资源中包含了官方默认的,也有配置好的,及使用文档,具体...
国内连接maven官方的仓库更新依赖,收集一些国内快速的maven仓库镜像以备用。 settings.xml配置好的国内私服,直接可以下载使用!
在Maven的世界里,`pom.xml`和`settings.xml`是两个至关重要的配置文件,它们共同决定了Maven项目的构建过程和环境配置。`pom.xml`(Project Object Model)文件是每个Maven项目的核心,它包含了项目的基本信息、...
Maven settings.xml配置文件,配置了远程仓库地址,只需修改自己的本地仓库地址,便可使用,能够快速下载依赖jar包。本人亲测可用
maven的settings.xml配置,提供maven包下载位置,刚刚maven仓库镜像仓库下载。 <localRepository>D:/develop/apache-maven-3.6.0/repository <id>alimaven <name>aliyun maven <url>...
之前找了很多个镜像配置,一直无法更新,好不容易找了一个可以用的,希望可以帮到大家
`settings.xml`是Maven构建工具的核心配置文件之一,它定义了Maven仓库的位置、镜像设置、本地仓库路径、用户特定的配置信息等。在Maven的工作流程中,`settings.xml`扮演着至关重要的角色,它使得Maven能够根据用户...
用于maven setting.xml文件丢失,eclipse集成maven插件.m2下无setting.xml文件需要配置的情况
settings.xml maven
Maven原版settings.xml配置文件,根据个人需要,可以打开对应注释或替换相关阿里云镜像或远程仓库地址即可使用。
这是maven 自定义仓库配置方案。本地仓库默认放在C盘,如果要想将本地仓库转移到指定到自动以的位置,就需要配置setting.xml,下载后只需修改本地仓库的配置即可!
linux 环境下安装maven 拉去资源jar settings.xml 配置文件
settings.xml配置
maven linux 安装时配置文件 settings.xml 配置阿里云镜像 使用时请修改本地仓库路径