如何配置Maven的代理?

要配置Maven的代理,可以在settings.xml文件中进行设置。settings.xml文件位于:

  • Linux/Mac:~/.m2/settings.xml
  • Windows:C:/Users/username/.m2/settings.xml
    在settings.xml中添加如下代理配置:
<proxies>
  <!--代理信息-->
  <proxy>
    <id>myproxy</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>proxyhost</host>
    <port>80</port>
    <username>proxyuser</username> 
    <password>proxypass</password>
    <!--不需要代理的主机列表-->
    <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
  </proxy>
</proxies>

配置说明:

  • id:代理 ID,任意填写。
  • active:是否激活该代理,true为激活。
  • protocol:代理协议,http或https。
  • host:代理主机地址。
  • port:代理主机端口。
  • username:代理认证用户名,非必需。
  • password:代理认证密码,非必需。
  • nonProxyHosts:不需要代理的主机列表,多个主机用|隔开。

也可以在specific该仓库使用代理:

<repositories>
  <repository>
    <id>myrepo</id>
    <url>http://repo.maven.apache.org/maven2</url>
    <proxy>
      <id>myproxy</id>  
    </proxy>
  </repository>
</repositories>

上例指定id为myrepo的仓库使用id为myproxy的代理。
另外,你也可以通过设置环境变量或JVM参数来配置Maven代理:
环境变量:

  • http_proxy:http代理地址
  • https_proxy:https代理地址
    JVM参数:
    -Dhttp.proxyHost=proxyhost -Dhttp.proxyPort=80 -Dhttps.proxyHost=proxyhost -Dhttps.proxyPort=443
    Maven会自动使用环境变量或JVM参数中的代理设置。
    Maven代理的各种配置方法,可以让我们在不能直接连接网络的环境中也可以正常使用Maven构建项目。