明确代理服务器地址及端口,比如
proxy.supremehover.com:8080
找到maven目录下的conf\settings.xml并打开,在proxies节点下添加proxy
<proxies> <proxy> <id>proxyHttp</id> <active>true</active> <protocol>http</protocol> <username>username</username> <password>password</password> <host>proxy.supremehover.com</host> <port>8080</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy> <proxy> <id>proxyHttps</id> <active>true</active> <protocol>https</protocol> <username>username</username> <password>password</password> <host>proxy.supremehover.com</host> <port>8080</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy> </proxies>
分别配置了http及https的代理
- username填写登录代理服务器所用用户名,可能要以域\用户名形式填写,比如supremehover.com\user,我直接写用户名就成功了。
- password填写登录代理服务器所用密码
- nonProxyHosts填写不用代理的地址,以竖线|分割多个地址,一般填写本地Maven仓库地址
以上教程参考
http://maven.apache.org/guides/mini/guide-proxies.html
如果mvn命令依然报错,但错误是
SunCertPathBuilderException
我的解决方法是,明确mvn访问的报错地址,比如是https://repo1.maven.org/maven2/,用浏览器访问,点击地址栏左边锁标志,出现下图
点击『详细信息』。出现下图
从左至由,分别点击红色框所示部分,导出文件sample.cer(文件名随意,后缀名自动为cer)出现下图
找到Java目录下的cacerts文件,分别位于jdk及jre下,并将sample.cer拷贝至同一位置
分两次操作切换至上述两处位置,以『管理员模式』在『当前位置』打开cmd,在打开的cmd中输入
keytool -import -alias sample -file sample.cer -keystore cacerts -storepass changeit
出现下图(图太长截部分)
输入字符『Y』,敲击『回车键』。出现下图表示成功
重启JVM或者系统即可使mvn命令正常访问互联网。
keytool命令的几点说明:
- -alias可以随意命名
- -storepass的changeit是java默认的密码
以上教程参考
http://stackoverflow.com/questions/9619030/resolving-javax-net-ssl-sslhandshakeexception-sun-security-validator-validatore http://www.cnblogs.com/devinzhang/archive/2012/02/28/2371631.html
时间: 2024-10-25 21:24:52