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 配置文件-腾讯云开发者社区-腾讯云
相关推荐
无心水1 小时前
【分布式利器:腾讯TSF】10、TSF故障排查与架构评审实战:Java架构师从救火到防火的生产哲学
java·人工智能·分布式·架构·限流·分布式利器·腾讯tsf
Boilermaker19928 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
Cherry的跨界思维8 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
alonewolf_999 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子9 小时前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
sheji34169 小时前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
恋爱绝缘体19 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wszy180910 小时前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos
wszy180910 小时前
顶部标题栏的设计与实现:让用户知道自己在哪
java·python·react native·harmonyos
程序员小假11 小时前
我们来说一下无锁队列 Disruptor 的原理
java·后端