Maven的Http和scp代理

本文介绍了如何在Maven中配置HTTP代理和SCP代理。HTTP代理用于转发HTTP请求,可以设置通配符和例外主机。SCP代理涉及Maven执行时的配置,如本地存储库位置和身份验证信息。全局设置位于Maven安装目录,用户设置在用户目录,两者合并时用户设置优先。若需创建用户设置,可复制全局设置模板并根据需要修改。

配置代理

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 的内容能被以下值替换

  1. ${user.home} 和所有其他系统属性 (这是从 Maven 3.0以后才被允许)
  2. ${env.HOME} 等环境变量

注意:这个属性在配置文件中定义在settings.xml 中不能用于插值。

### Linux环境下Maven的离线安装方法 #### 准备工作 在进行Maven的离线安装之前,需要先获取Maven的二进制压缩包。通常可以从Apache Maven官方网站或其他可信源下载所需的`.tar.gz`文件,并将其传输至目标Linux服务器。 例如,可以下载如下版本的Maven压缩包: - `apache-maven-3.9.6-bin.tar.gz`[^1] - `apache-maven-3.6.3-bin.tar.gz`[^2] 将该文件通过SCP、FTP等方式上传到服务器的目标路径,比如 `/data` 或者 `/opt/soft` 文件夹中。 --- #### 解压操作 进入存放Maven压缩包的目录并解压: ```bash cd /data # 替换为目标路径 tar -zxvf apache-maven-3.9.6-bin.tar.gz # 使用实际文件名替换 ``` 上述命令会将Maven解压到当前目录下的子文件夹中,例如 `/data/apache-maven-3.9.6`。 如果选择了其他路径,则需调整后续环境变量中的路径设置。 --- #### 配置环境变量 编辑系统的全局环境变量配置文件 `/etc/profile` 来添加Maven的相关路径: ```bash vim /etc/profile ``` 在文件末尾追加以下内容(根据实际情况修改路径): ```bash export MAVEN_HOME=/data/apache-maven-3.9.6 # 实际解压后的路径 export PATH=$MAVEN_HOME/bin:$PATH ``` 保存退出后重新加载配置文件以使更改生效: ```bash source /etc/profile ``` 此时可以通过执行以下命令验证是否成功配置: ```bash mvn -v ``` 正常情况下应返回类似以下的信息,表示Maven已正确安装并可用: ``` Apache Maven 3.9.6 (...) Maven home: /data/apache-maven-3.9.6 Java version: ... ``` --- #### 可选步骤:自定义Settings.xml 对于某些特定需求,可能还需要进一步配置Maven的 `settings.xml` 文件。此文件位于 `$MAVEN_HOME/conf/settings.xml` 中,默认无需改动;但如果涉及私有仓库或镜像代理等场景,则可对其进行适当修改[^3]。 --- ### 总结 以上流程涵盖了从准备工作到最终测试的所有环节,在无网络连接的情况下也能顺利完成Maven的安装过程。只需确保提前准备好所需资源并将它们安全地迁移到目标机器上即可。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值