Maven 对特定存储库使用 SOCKS 代理

2024-04-22

我试图将 Maven 配置为在访问特定存储库时使用袜子代理,但不将其用于 Maven 中央存储库。

我用过export MAVEN_OPTS="-DsocksProxyHost=<proxyHost> -DsocksProxyPort=<proxyPort>"最初设置代理,但随后得到Malformed reply from SOCKS server当它尝试从 repo.maven.apache.org/maven2 下载依赖项时。

我还尝试将以下内容添加到 settings.xml,而不是$MAVEN_OPTS:

<proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host><proxyHost></host>
      <port><proxyPort></port>
      <nonProxyHosts>repo.maven.apache.org</nonProxyHosts>
    </proxy>
</proxies>

并且还以 SOCKS 作为协议。但是,这会导致请求超时,因为它无法到达特定存储库。但是,它确实到达了 repo.maven.apache.org/maven2,尽管速度很慢,因为它首先检查指定的存储库。

有没有办法将两者结合起来,并为我在 settings.xml 中指定的存储库提供 SOCKS 代理,而没有为 repo.maven.apache.org 提供代理?


对于遇到这个问题的任何人,我会说另一种解决方法。 虽然看起来添加<proxy>settings.xml 应该是最正确的解决方案,它对我不起作用。

首先,创建与代理服务器的 SSH 连接。您可以使用任何您喜欢的服务(例如 Shadowsocks),但这是最简单的解决方案:

ssh -D 9999 [email protected] /cdn-cgi/l/email-protection

这将启动到您的服务器的 ssh 会话,并在端口 9999 上启动 Socks 代理。如果您在使用 SSH 连接连接的服务器上执行此操作,您可能需要在下面运行此代码screen会话,这样您就可以在袜子仍然在后台连接的情况下继续使用终端。

现在,当您想要构建工件时,可以使用以下命令:

-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=9999

这行代码使用本地端口 9999 上的 Socks 连接到您的服务器。例子:

mvn clean install -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8085

此外,您也可以将其导出到您的环境中:

export MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8085"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven 对特定存储库使用 SOCKS 代理 的相关文章

随机推荐

  • 带有第二个数据库的 PostgreSQL 外键

    我在 PostgreSQL 9 3 上运行以下查询 CREATE TABLE app item id SERIAL NOT NULL PRIMARY KEY location id UUID NOT NULL CREATE INDEX ap
  • 创建新的 Expect 对象时,cgi-perl 文件中出现 Apache [PTY 错误]

    我有一个 perl 脚本 usr bin perl w use DateTime use Expect use IO Pty use CGI Fast while q new CGI Fast my ip q gt param ip my
  • Python 请求,返回:解析值时遇到意外字符:L.Path

    我试图从 The Trade Desk 的 沙盒 api 获取身份验证令牌 但收到 400 响应 指出 将内容类型 application json 读取为 JSON 时出错 意外 解析值时遇到的字符 L Path 第 0 行 位置 0 W
  • 用于读/写 XMM 和 YMM 寄存器的内联汇编代码?

    我有 2 个变量来模拟 X86 XMM 和 YMM 如下所示 uint64 t xmm value 2 uint64 t ymm value 4 现在我想使用内联汇编来读取和写入 XMM YMM 寄存器 如何编写GCC内联汇编来复制xmm
  • 使用 ffmpeg 进行视频标准化

    无论如何 有没有使用 ffmpeg 脚本将视频亮度标准化为其完整的动态范围 我一直在尝试用 lutyuv 这样做 ffmpeg i input mp4 vf lutyuv y val minval 255 maxval minval 输出
  • 使用 mysqldump 转储和加载 MySQL InnoDB 数据库的最快方法是什么?

    我想使用 mysqldump 和 MySQL 5 1 创建一个包含大约 40 个 InnoDB 表和大约 1 5GB 数据的数据库副本 能够实现最快转储和加载数据的最佳参数是什么 即 single transaction 此外 将数据加载到
  • 最大执行时间超过 30 秒 Laravel 4 错误

    我在 laravel 4 的 UserController 中发送密码请求的某个函数遇到问题 它检查数据库中是否存在电子邮件 如果用户存在 则发送电子邮件 然后 该函数在表中创建一个令牌 并将其发送到电子邮件内链接的末尾 该函数的工作原理与
  • JPA 中更好的异常处理

    我在持久化我的实体时使用了 EJB3 JPA 我很高兴它能够管理我的数据库相关内容 任务 我唯一关心的是异常处理 我保存实体时的示例代码总是采用这种风格 我在网上读到的大多数教程都是这种风格 也没有考虑异常处理 Stateless publ
  • 并行运行合金分析仪

    我正在生成相当多的合金规格 als 文件 对于我试图解决的中等规模问题 我生成了 1536 个 als 文件 为了节省运行所有这些文件的时间 我使用了 Java 并发 API 特别是ExecutorCompletionService wit
  • C++ 虚拟析构函数和 vtable

    我对虚拟析构函数和虚函数表有一些具体问题 假设我有以下代码 class Base public virtual Base class Child public Base public Child 问题 vtable存储在哪里 它是否始终位于
  • Android系统颜色常量

    Android 编程快把我逼疯了 用于 GUI 开发的 XML 或可编程方法正在为代码制作一份正确的老狗早餐 这里有一些东西 那里有一些东西 我目前的挫败感是试图保留所有 XML 我想设置背景颜色TextView与 a 的背景颜色相同的颜色
  • ArrayIndexOutOfBoundsException - 改造调用

    我正在尝试打电话PUT方法在我的Retrofit实例 Response
  • 大端和小端表示

    如果我写以下内容 section data align 4 X db 1 Y dw 5 Z db 0x11 section text add dword X 0xAA000101 我试图理解大端和小端表示之间的差异 但我不明白每个表示的每个
  • 使用react-google-maps-api将自定义标记作为React组件

    我们正在转换自google map react https github com google map react google map react readme to react google maps api这意味着更多原生 Googl
  • 使用 COMPS 构建 C/C++ 应用程序时出错:硬编码路径

    我正在尝试构建一个使用 C C 绑定开发的 COMPASs 应用程序 当我构建应用程序时 出现以下错误 您知道我该如何解决这个问题吗 xxxx xxx c increment gt buildapp increment BSC Barcel
  • Crash Firebase vs Crashlytics vs HockyApp

    我一直在应用程序中使用 Crashlytics 我们的客户端使用 HockeyApp 并且我是通过 Google Firebase 最近的更新了解到的 有谁有机会使用上述工具 您的概述和建议是什么 您是否喜欢其中一个 为什么 祝你有美好的一
  • Laravel 将数据传递给路由

    我是 Laravel 5 的新手 我需要一些帮助 因为我无法解决我的简单问题 我有一个数据列表http sample com partners http sample com partners如果我单击数据链接 我希望将其重定向到 http
  • 如何从服务器中的客户端池中识别客户端 - 设计

    好的 我正在使用一个客户端 服务器库 服务器可以接受来自客户端的多个连接 每次调用 Accept 时 如果成功 客户端套接字的句柄就会被推送到映射 并以假定的唯一 ID 作为键 这样当服务器稍后想要向特定客户端发送消息时 它就会使用该 ID
  • mysql 其中字符串以数字结尾

    我的表列包含如下值 id item 1 aaaa11a112 2 aa1112aa2a 3 aa11aa1a11 4 aaa2a222aa 我只想选择项目值以数字结尾的行 有这样的事吗 select from table where ite
  • Maven 对特定存储库使用 SOCKS 代理

    我试图将 Maven 配置为在访问特定存储库时使用袜子代理 但不将其用于 Maven 中央存储库 我用过export MAVEN OPTS DsocksProxyHost