我正在Eclipse IDE中的Github中复制我的项目。 输入所有访问数据后,会发生以下错误:
https://github.com/“公司名称”/“PROJECTNAME”.git:无法打开git-upload-pack
我已添加 http.sslVerify = false - 无法正常工作
我配置了 RSA密钥 - 无法正常工作
我使用:Windows 10 / Java 7 / Eclipse Luna Luna Service Release 2(4.4.2)
错误的更多细节
org.eclipse.jgit.api.errors.TransportException:
https://github.com/"COMPANYNAME"/"PROJECTNAME".git: cannot open git-upload-pack
at org.eclipse.jgit.api.LsRemoteCommand.call(LsRemoteCommand.java:196)
at
org.eclipse.egit.core.op.ListRemoteOperation.run(ListRemoteOperation.java:99)
at org.eclipse.egit.ui.internal.clone.SourceBranchPage$8.run(SourceBranchPage.java:324)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: org.eclipse.jgit.errors.TransportException: https://github.com/"COMPANYNAME"/"PROJECTNAME".git: cannot open git-upload-pack
at org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:521)
at org.eclipse.jgit.transport.TransportHttp.openFetch(TransportHttp.java:309)
at org.eclipse.jgit.api.LsRemoteCommand.call(LsRemoteCommand.java:175)
... 3 more
Caused by: javax.net.ssl.SSLException: Received fatal alert: protocol_version
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at org.eclipse.jgit.transport.http.JDKHttpConnection.getResponseCode(JDKHttpConnection.java:98)
at org.eclipse.jgit.util.HttpSupport.response(HttpSupport.java:168)
at org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:475)
... 5 more
会话数据:
eclipse.buildId=4.4.2.M20150204-1700
java.version=1.7.0_79
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=pt_BR
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product
org.eclipse.epp.package.jee.product
答案 0 :(得分:2)
Eclipse 2019-12在实现
IBM JDK 上运行时遇到问题
SSLContext.getInstance("TLS")
不同于Oracle JDK或OpenJDK等其他JDK。
中对此问题进行了解释要解决此问题,您需要设置运行时参数:
-Dcom.ibm.jsse2.overrideDefaultTLS=true
在 eclipse.ini 文件中。
此外,如果仍然无法运行,则需要添加以下参数之一:
-Dhttps.protocols=TLSv1.1,TLSv1.2
-Djdk.tls.client.protocols=TLSv1.1,TLSv1.2
有人发现,在某些情况下,项目的顺序确实很重要,所以
-Dhttps.protocols=TLSv1.2,TLSv1.1
与
不同-Dhttps.protocols=TLSv1.1,TLSv1.2
列表中的最后一个往往优先于其他列表。
IBM的其他有关“功能”的官方文章如下:
答案 1 :(得分:1)
尝试this answer到Salesforce Stack Exchange上的相关问题。它对我有用。
详细说明,GitHub最近(截至2018年2月8日)取消了对许多过时加密标准的支持。有关详细信息,请参阅this announcement。
不幸的是,这个列表包含了TLSv1,它是Java 7使用的默认TLS实现。我遇到了同样的问题,因为我在使用Java 7的相当古老的Eclipse构建中通过EGit与GitHub接口,果然,它明确设置为使用TLS1.0。我按照建议的步骤强制我的Java使用TLS1.1和1.2,这个问题神奇地解决了。