配置代理
HTTP代理
通过Maven配置代理用于转发部分或全部HTTP请求。
nonProxyHosts设置接受通配符,并且每个不进行代理的主机都由|分隔字符,这与JDK配置相同。
<settings>
...
<proxies>
<proxy>
<id>proxy1</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.example.com</host>
<port>8080</port>
<username>proxyuser</username>
<password>mypassword</password>
<nonProxyHosts>www.baidu.com|*.example.com</nonProxyHosts>
</proxy>
</proxies>
...
</settings>
scp代理
<settings>
...
<servers>
<server>
<id>repo1</id>
<username>代理用户名</username>
<!-- 其他选项:
<password>代理用户密码</password>
<privateKey>私钥存储位置</privateKey>
<passphrase>私钥密码</passphrase>
-->
</server>
...
</servers>
...
</settings>
HTTP代理和SCP代理的文件中的元素包含用于定义值的settings元素,这些settings.xml值以各种方式配置Maven执行,例如pom.xml,但不应捆绑到任何特定项目或分发给用户。这些值包括本地存储库位置,备用远程存储库服务器和身份验证信息等。
settings.xml文件可能存在两个位置:
- Maven自带配置:
${maven.home}/conf/settings.xml - 用户的配置:
${user.home}/.m2/settings.xml
前者settings.xml也称为全局设置,后者settings.xml称为用户设置。如果两个文件都存在,则它们的内容将合并,其中用户特定的settings.xml为主导。
提示:如果需要从头开始创建用户特定的设置,则最简单的方法是将全局设置从Maven安装复制到${user.home}/.m2目录中。Maven的默认值settings.xml是带有注释和示例的模板。
settings模板:
<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/>
<offline/>
<pluginGroups/>
<servers/>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>
settings.xml 的内容能被以下值替换
${user.home}和所有其他系统属性 (这是从 Maven 3.0以后才被允许)${env.HOME}等环境变量
注意:这个属性在配置文件中定义在settings.xml 中不能用于插值。
本文介绍了如何在Maven中配置HTTP代理和SCP代理。HTTP代理用于转发HTTP请求,可以设置通配符和例外主机。SCP代理涉及Maven执行时的配置,如本地存储库位置和身份验证信息。全局设置位于Maven安装目录,用户设置在用户目录,两者合并时用户设置优先。若需创建用户设置,可复制全局设置模板并根据需要修改。
1206

被折叠的 条评论
为什么被折叠?



