Maven用户设置文件(settings.xml)配置指南

诸神缄默不语-个人技术博文与视频目录

settings.xml文件位置:${M2_HOME}/conf/settings.xml

注意修改完settings.xml最好重启一下Idea再继续运行。

以下首尾是固定内容:

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">
xml 复制代码
</settings>

主要需要修改的是中间的配置。

文章目录

  • [1. localRepository:本地Maven包下载文件夹](#1. localRepository:本地Maven包下载文件夹)
  • [2. proxies:代理](#2. proxies:代理)
  • [3. mirros:镜像](#3. mirros:镜像)
  • [4. profiles:根据环境参数来调整构建配置](#4. profiles:根据环境参数来调整构建配置)
  • [5. 本文撰写过程中参考的其他网络资料](#5. 本文撰写过程中参考的其他网络资料)

1. localRepository:本地Maven包下载文件夹

<localRepository>D:\maven-repository</localRepository>

2. proxies:代理

如有需要的话添加:

xml 复制代码
  <proxies>   
    <proxy>
      <id>local-clash</id>    
      <active>true</active>
      <protocol>http</protocol>
      <host>127.0.0.1</host>
      <port>8790</port>
      <!-- <nonProxyHosts>local.net|some.host.com</nonProxyHosts> -->
    </proxy>
  </proxies>

如果不指定,会使用第一个active=true的proxy

nonProxyHosts用逗号或竖线分隔符都行

事实上也可以用命令行来指定proxy:mvn clean install -DproxySet=true -DproxyHost=ur.proxy.server -DproxyPort=port

参考资料:Maven 代理设置 -- Eclipse,命令行和全局设置 · HowToDoInJava 中文系列教程 · 看云

3. mirros:镜像

如有需要的话添加,如阿里云镜像:

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

4. profiles:根据环境参数来调整构建配置

xml 复制代码
<profiles>
    <profile>
        <id>jdk18</id>
        <activation>
            <jdk>1.8</jdk><!--当匹配的jdk被检测到,profile被激活。例如,1.4激活JDK1.4,1.4.0_2,而!1.4激活所有版本不是以1.4开头的JDK。-->
            <activeByDefault>true</activeByDefault><!--profile默认是否激活的标识 -->
        </activation><!-- 自动触发profile的条件逻辑 -->
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
        </properties><!-- 扩展属性列表 -->
    </profile>
</profiles>

5. 本文撰写过程中参考的其他网络资料

  1. 一文了解 Maven 的 settings.xml 配置文件-腾讯云开发者社区-腾讯云
相关推荐
Mahir081 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
RyFit2 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码3 小时前
C++ 内存分区 堆区
java·开发语言·c++
绝知此事3 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海3 小时前
C# 隐式转换深度解析
java·开发语言·c#
一只大袋鼠4 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
德思特4 小时前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU5 小时前
Spring IoC&DI
java·数据库·spring
один but you5 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言
是码龙不是码农6 小时前
ThreadPoolExecutor 7 个核心参数详解
java·线程池·threadpool