知识点

相关文章

更多

最近更新

更多

maven设置HTTP代理访问

2019-03-21 22:06|来源: 网路

使用maven下载依赖文件的时候,如果出现could not be retrieved from repository: transferring file:central due to an error: Con nection timed out: connect 的错误。可能是由于你的网络设置了代理,被阻止用户直接连接互联网,要求必须使用通过安全认证的代理访问因特网 。你可以 通用maven的 proxy设置代理。

打开{M2_HOME}/conf/settings. xml,在 proxies下加入 以下代码, proxies下可以有多个proxy元素,如果声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效
<proxy>
     <id>optional</id>    
     <active>true</active>
     <protocol>http</protocol>
     <username></username>
     <password></password>
     <host>172.X.X.X</host>
     <port>80</port>
     <nonProxyHosts>localhost|127.0.0.1|*.google.com</nonProxyHosts>
</proxy>
配置解释:
id:代理名词
active:设置是否启用
protocol:协议
username:访问代理用户名
password:访问代理密码
host:代理地址
port:代理端口号
nonProxyHosts:不使用代理的地址,一般在访问内网的时候,不需要使用代理,就是在这里设置。可以使用"|"符号来分隔多个主机名。此外,该配置也支持通配符,如:*.google.com表示所有以google.com结尾的域名访问都不要通过代理
如果代理不需要用户认证,username 和 password 两个节点可注释掉



延伸1:设置代理之前先检查网络
1、确认无法直接访问中央仓库:ping repol.maven.org 检查网络
2、检查代理服务畅通:telnet 本机IP 代理端口

延伸2:使用 CNTLM设置代理
下载CNTLM工具,安装,修改安装路径下的cntlm.ini,改成实际的ntlm proxy地址,CNTLM会起一个proxy service监听3128端口。在maven的settings.xml中的proxy设置可以以下:
<proxy>
     <id>optional</id>
     <active>true</active>
     <protocol>http</protocol>
     <host>127.0.0.1</host>
     <port>3128</port>
</proxy>

整理于网络


相关问答

更多
  • 解决方案一: 停止docker服务,手动以使用2375端口监听所有网络接口的方式启动docker daemon。 $ systemctl stop docker.service $ nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock & 解决方案二: 编辑配置文件,Ubuntu下是/etc/default/docker,CentOS下是/etc/sysconfig/docker。不过通过修改这两个文件来配置daem ...
  • 有时候网络不能直接访问外网, 需要设置代理 设置方式如下: 一、检测本地网络是否不能直接访问Maven的远程中央仓库,命令为ping repo1.maven.org 二、要检查代理服务器是否畅通, 比如现在有一个IP地址为192.168.10.117,端口为3267的代理服务,我们需要先运行telnet 192.168.10.117 3267来检查该地址的该端口是否畅通, 如果得道出错信息需要先获取正确的代理服务器信息, 如果telnet连接正确,则输入ctrl+],然后q,回车,退出即可。 三、检查完毕之 ...
  • 作为第三方应用不可能做到这一点。 您收到此消息: 12-07 12:39:37.736: W/PackageManager(85): Not granting permission android.permission.WRITE_SECURE_SETTINGS to package com.mgranja.xxxxxxx (protectionLevel=3 flags=0xbe46) 只有使用与系统应用程序相同的密钥签名的应用程序才能获得此权限(即:如果您自己制作ROM,则可以添加该功能) 有关此问题 ...
  • 使用sudo时,默认情况下脚本以用户“root”身份执行。 所以代理设置应该在root的homedir中。 但我认为,使用root权限运行make不是一个好主意。 根据Maven-Proxy-Example和Maven-Pom-Reference , Pom中没有代理配置。 这个问题似乎证实了这一点。 也许java.net.useSystemProxies想法可以做你想做的。 我不确定这个标记只用于eclipse插件,或者通常由maven自己使用。 When using sudo, the script i ...
  • 事实上,您的maven插件尝试连接到https远程存储库 (例如https://repo.maven.apache.org/maven2/ ) 这是Maven Central的新的SSL连接在2014年8月提供! 所以,请验证您的settings.xml是否具有正确的配置。 securecentral
  • 我想我有同样的问题Win7 / NetBeans / Maven。 在我看来,Maven需要自己的代理设置,并且不使用NetBeans中设置的一次。 在安装NetBeans的子目录中有一个settings.xml:例如c:\ NetBeans 8.2 \ java \ maven \ conf 不要忘记从代理部分删除周围的注释。 It turns out its very easy! My problem is that the code was put on my hard drive as a simp ...
  • 在nonProxyHosts标签中添加您的本地连接库存储主机名 localhost|company-deploy-nexus.com|company-nexus.com|localhost add your local nexus repository hostnames in nonProxyHosts tag localhost|company-deploy-nexus.com|company-nexus.co ...
  • 好吧,经过几个小时的斗争,我发现了这个问题。 2周前,我需要在本地安装一个内部不可用的Logstash插件。 这需要我在我的配置中随意摆弄,以允许Logstash真正通过代理并获取所需的依赖关系 - 它涉及到Maven,因为我使用了这里给出的丑陋解决方法: https : //github.com/elastic / logstash /问题/ 2851 正如链接中所解释的那样,我在$ HOME / .m2 / settings.xml中定义了logstash插件的代理,并忘记在之后删除它; - / 我通过 ...
  • 如果您指的是Maven 3.0.4,您可以继续在NTLM代理之后工作,而不必提及用户名和密码(假设您正在使用相同凭据登录的dev框中) 。 在Maven 3.0.3中,不需要显式地执行此步骤,但在3.0.4中,这是明确要求的。 您需要下载http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/2.2/wagon-http-lightweight-2.2.jar并将其放入[您的目录结构] \ apach ...
  • 感谢bmargulies和其他任何看过这个的人。 我有一个解决方案,我希望能帮助别人。 将-Dhttp.proxyHost参数添加到我的JVM启动选项中什么也没做。 在我的部署properties-services.xml中将这些相同的参数添加到JBOSS 5.1.2配置中没有做任何事情。 我相信使用Spring 3.x是解释这种行为的一个因素。 我不得不告诉Spring Web服务客户端使用代理。 我在Fiddler代理HttpClient添加了一些Spring bean,并将其注入Web服务客户端,取代 ...