Maven代理教程

  • 明确代理服务器地址及端口,比如proxy.supremehover.com:8080
  • 找到maven目录下的confsettings.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.comuser,我直接写用户名就成功了。
  • password填写登录代理服务器所用密码
  • nonProxyHosts填写不用代理的地址,以竖线|分割多个地址,一般填写本地Maven仓库地址

Configuring a proxy


如果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默认的密码

Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error
Java安全通信:HTTPS与SSL

原文地址:https://www.cnblogs.com/lewh/p/6166438.html