首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven将SOCKS代理用于特定存储库

Maven将SOCKS代理用于特定存储库
EN

Stack Overflow用户
提问于 2015-12-14 20:46:39
回答 3查看 3.6K关注 0票数 2

我正在尝试将maven配置为在访问特定存储库时使用socks代理,而不是将其用于maven中央存储库。

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

我还尝试将以下代码而不是$MAVEN_OPTS添加到settings.xml中

代码语言:javascript
复制
<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代理?

EN

回答 3

Stack Overflow用户

发布于 2019-03-15 16:50:46

对于任何正在努力解决这个问题的人,我要说的是另一种解决它的方法。虽然将<proxy>添加到settings.xml似乎应该是最正确的解决方案,但它对我并不起作用。

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

ssh -D 9999 yourname@your.gateway.com

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

现在,当您想要构建您的工件时,您可以使用以下代码:

-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"

票数 4
EN

Stack Overflow用户

发布于 2016-11-09 19:16:20

您应该将协议设置为socks5,如下所示(我的设置):

代码语言:javascript
复制
<proxy>
    <id>ss</id>
    <active>true</active>
    <protocol>socks5</protocol>
    <username></username>
    <password></password>
    <host>127.0.0.1</host>
    <port>1080</port>
    <nonProxyHosts>127.0.0.1</nonProxyHosts>
</proxy>
票数 1
EN

Stack Overflow用户

发布于 2020-10-31 13:07:58

我知道现在有点晚了,但对于仍然有这个问题的人来说。这是使用socks代理调用maven的方法:

代码语言:javascript
复制
mvn install -DproxySet=true -DsocksProxyHost=YOUR_SOCKS_SERVER -DsocksProxyPort=SOCKS_PORT
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34267443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档