"cannot open git-upload-pack" - 在 Eclipse 中克隆项目 IDE
"cannot open git-upload-pack" - Cloning project in Eclipse IDE
我正在 Eclipse IDE 中复制我的项目 Github。
输入所有访问数据后,出现以下错误:
https://github.com/"COMPANY NAME"/"PROJECTNAME".git: cannot open git-upload-pack
我已经添加了 http.sslVerify = false - 没有用
我配置了 RSA 密钥 - 也没有用
我使用:Windows10/Java7/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.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
尝试 this answer 解决 Salesforce Stack Exchange 上的相关问题。它对我有用。
详细说明,GitHub 最近(截至 2018 年 2 月 8 日)删除了对许多过时加密标准的支持。有关详细信息,请参阅 this announcement。
不幸的是,此列表包括 TLSv1,它是 Java 7 使用的默认 TLS 实现。我遇到了同样的问题,因为我在相当古老的 Eclipse 构建上通过 EGit 与 GitHub 交互还在用Java7,果然,明确设置为使用TLS1.0。我按照推荐的步骤强制我的 Java 使用 TLS1.1 和 1.2,问题就神奇地解决了。
Eclipse 2019-12 在 IBM JDK 上有一个问题 运行 实现了
SSLContext.getInstance("TLS")
与其他 JDK 不同,例如 Oracle JDK 或 OpenJDK。
这个问题在Eclipse forum post
中有解释
要解决您需要设置运行时参数的问题:
-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 的其他解释 "functionality" 的官方文章如下:
我正在 Eclipse IDE 中复制我的项目 Github。 输入所有访问数据后,出现以下错误:
https://github.com/"COMPANY NAME"/"PROJECTNAME".git: cannot open git-upload-pack
我已经添加了 http.sslVerify = false - 没有用
我配置了 RSA 密钥 - 也没有用
我使用:Windows10/Java7/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.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
尝试 this answer 解决 Salesforce Stack Exchange 上的相关问题。它对我有用。
详细说明,GitHub 最近(截至 2018 年 2 月 8 日)删除了对许多过时加密标准的支持。有关详细信息,请参阅 this announcement。
不幸的是,此列表包括 TLSv1,它是 Java 7 使用的默认 TLS 实现。我遇到了同样的问题,因为我在相当古老的 Eclipse 构建上通过 EGit 与 GitHub 交互还在用Java7,果然,明确设置为使用TLS1.0。我按照推荐的步骤强制我的 Java 使用 TLS1.1 和 1.2,问题就神奇地解决了。
Eclipse 2019-12 在 IBM JDK 上有一个问题 运行 实现了
SSLContext.getInstance("TLS")
与其他 JDK 不同,例如 Oracle JDK 或 OpenJDK。
这个问题在Eclipse forum post
中有解释要解决您需要设置运行时参数的问题:
-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 的其他解释 "functionality" 的官方文章如下: