maven3.9的settings.xml 内容学习

settings.xml 文件介绍

settings.xml 是 Maven 的配置文件,它允许你自定义 Maven 的行为,比如设置仓库、代理、认证信息等。在 Maven 3.9 中,settings.xml 的结构和内容可能与之前的版本相似,但可能会有一些小的改进或变化。下面我们以3.9.6版本介绍。

首先打开maven的解压目录的 conf 文件夹

打开settings.xml文件

下面我们一个配置一个的过

settings.xml 配置项

总配置项(简化)

XML 复制代码
<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
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <proxies/>
  <profiles/>
  <activeProfiles/>
</settings>
localRepository

设置本地仓库的位置。

示例:

XML 复制代码
 <localRepository>D:\repository\.m2</localRepository>
interactiveMode

设置Maven是否应该以交互模式运行。默认值为true,表示Maven在需要时会提示用户输入。如果设置为false,Maven将使用默认值或基于其他设置的值。

示例:

XML 复制代码
  <interactiveMode>true</interactiveMode>
offline

<offline>设置Maven是否应该尝试联网执行构建。默认值为false。当由于网络设置或安全因素,构建服务器不能连接远程仓库时,这个设置非常有用。

示例:

XML 复制代码
  <offline>false</offline>
pluginGroups

定义插件组。<pluginGroups>允许定义额外的插件组,这些组在解析插件时会被搜索。默认情况下,Maven会自动添加org.apache.maven.pluginsorg.codehaus.mojo

示例:

XML 复制代码
  <pluginGroups>
    <pluginGroup>org.mortbay.jetty</pluginGroup>
  </pluginGroups>
servers

<servers>用于定义服务器配置,如认证信息,这些信息通常不应该在pom.xml中配置,以避免安全问题。

示例:

XML 复制代码
  <interactiveMode>true</interactiveMode>
mirrors

配置镜像站点,用于加速 Maven 下载。

配置阿里云镜像示例:

XML 复制代码
  <mirrors>
      <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>
      </mirror>
  </mirrors>
proxies

<proxies>用于配置网络代理,当Maven需要通过代理服务器连接外部网络时使用。

示例:

XML 复制代码
<proxies>
  <proxy>
    <id>optional</id>
    <active>true</active>
    <protocol>http</protocol>
    <username>proxyuser</username>
    <password>proxypass</password>
    <host>proxy.host.net</host>
    <port>80</port>
    <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
  </proxy>
</proxies>
profiles

<profiles>定义了一组构建配置文件,每个<profile>可以包含不同的设置和插件组。<activation>子元素定义了激活该配置文件的条件。<activeProfiles>列出了需要激活的配置文件ID。

示例:

XML 复制代码
  <profiles>
    <profile>
      <id>tsetRepositories</id>
      <repositories>
        <repository>
          <id>tset</id>                                           
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>             
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
        
      </repositories>     
    </profile>
  </profiles>
activeProfiles

指定默认激活的配置文件。

示例:

XML 复制代码
  <activeProfiles>
    <activeProfile>testRepositories</activeProfile>
  </activeProfiles>

注意

settings.xml 文件通常位于你的用户目录下

在 Windows 上可能是 C:\Users\username

在 macOS 或 Linux 上可能是 ~/.m2

可以在命令行中使用 -s 参数指定一个不同的 settings.xml 文件。




相关推荐
✎ ﹏梦醒͜ღ҉繁华落℘6 小时前
FreeRTOS学习笔记(应用)-- 各种 信号量的应用场景
笔记·学习
星星火柴9366 小时前
笔记 | C++面向对象高级开发
开发语言·c++·笔记·学习
BeingACoder6 小时前
【SAA】SpringAI Alibaba学习笔记(一):SSE与WS的区别以及如何注入多个AI模型
java·笔记·学习·saa·springai
安全不再安全7 小时前
免杀技巧 - 早鸟注入详细学习笔记
linux·windows·笔记·学习·测试工具·web安全·网络安全
BreezeJuvenile7 小时前
外设模块学习(8)——HC-SR04超声波模块(STM32)
stm32·单片机·嵌入式硬件·学习·超声波测距模块·hc-sr04
LBuffer8 小时前
破解入门学习笔记题三十八
笔记·学习
微露清风8 小时前
系统性学习C++-第十讲-stack 和 quene
java·c++·学习
PyAIGCMaster8 小时前
钉钉的设计理念方面,我可以学习
人工智能·深度学习·学习·钉钉
Elias不吃糖8 小时前
第四天学习总结:C++ 文件系统 × Linux 自动化 × Makefile 工程化
linux·c++·学习
雍凉明月夜9 小时前
人工智能学习中深度学习之python基础之 类
python·学习