Eclipse Neon eGit Integration提供了例外401授权

时间:2016-10-05 17:21:32

标签: java eclipse git egit eclipse-neon

升级到Neon后,我的Egit集成失败,出现以下异常

enter image description here

更新:See eclipse bug

  

i.errors.TransportException:https://github.com/[REPOSITORY]/SCA:401   需要授权   org.eclipse.jgit.api.PushCommand.call(PushCommand.java:169)at at   org.eclipse.egit.core.op.PushOperation.run(PushOperation.java:217)at at   org.eclipse.egit.ui.internal.push.PushOperationUI.execute(PushOperationUI.java:167)     在   org.eclipse.egit.ui.internal.push.PushOperationUI $ 1.run(PushOperationUI.java:229)     在org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)引起的   by:org.eclipse.jgit.errors.TransportException:   https://github.com/SCASoftware/SCA:需要401授权   org.eclipse.jgit.transport.TransportHttp $ Service.openResponse(TransportHttp.java:855)     在   org.eclipse.jgit.transport.TransportHttp $ MultiRequestService.execute(TransportHttp.java:956)     在   org.eclipse.jgit.transport.TransportHttp $ $服务HttpExecuteStream.read(TransportHttp.java:882)     在   org.eclipse.jgit.util.io.UnionInputStream.read(UnionInputStream.java:145)     在java.io.FilterInputStream.read(未知来源)at   org.eclipse.jgit.util.io.TimeoutInputStream.read(TimeoutInputStream.java:112)     在org.eclipse.jgit.util.IO.readFully(IO.java:247)at   org.eclipse.jgit.transport.PacketLineIn.readLength(PacketLineIn.java:186)     在   org.eclipse.jgit.transport.SideBandInputStream.needDataPacket(SideBandInputStream.java:154)     在   org.eclipse.jgit.transport.SideBandInputStream.read(SideBandInputStream.java:136)     在org.eclipse.jgit.util.IO.readFully(IO.java:247)at   org.eclipse.jgit.transport.PacketLineIn.readLength(PacketLineIn.java:186)     在   org.eclipse.jgit.transport.PacketLineIn.readString(PacketLineIn.java:138)     在   org.eclipse.jgit.transport.BasePackPushConnection.readStringLongTimeout(BasePackPushConnection.java:395)     在   org.eclipse.jgit.transport.BasePackPushConnection.readStatusReport(BasePackPushConnection.java:328)     在   org.eclipse.jgit.transport.BasePackPushConnection.doPush(BasePackPushConnection.java:203)     在   org.eclipse.jgit.transport.TransportHttp $ SmartHttpPushConnection.doPush(TransportHttp.java:786)     在   org.eclipse.jgit.transport.BasePackPushConnection.push(BasePackPushConnection.java:155)     在   org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:167)     在org.eclipse.jgit.transport.Transport.push(Transport.java:1250)at   org.eclipse.jgit.api.PushCommand.call(PushCommand.java:158)... 4   更

我已经在gitHub网页界面中取消了我的凭据并且一直都失败了。更多信息:

  

eclipse.buildId = 4.6.1.M20160907-1200   java.version = 1.8.0_101   java.vendor = Oracle Corporation   BootLoader常量:OS = win32,ARCH = x86_64,WS = win32,NL = es_ES Framework   参数:-product org.eclipse.epp.package.jee.product   命令行参数:-os win32   -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

2 个答案:

答案 0 :(得分:6)

简短版。这是一个Eclipse bug。可以通过以下方式获得解决问题的新版本:

长版:我只是想克隆。但是我注意到的一个微妙的行为,也许是每个人的解决方法,就是当你看到密码的提示时(没有复选框的提示保存它并且没有在对话框中预填充用户ID),这真的是MPC的提示输入密码。如果您输入有效密码,那么EGit将不会看到401响应代码,因此EGit在与该服务器通信时不会填写您保存的密码,因此下一次EGit / JGit访问将导致401,因为保存的凭据不是正在使用。我注意到的一件棘手的事情是,如果我只是在假冒密码提示下点击转义或按下取消,那么EGit就会开始工作。

Eclipse论坛中有一个讨论:Eclipse Community Forum - Replybug

答案 1 :(得分:0)

这种解决方案是一个次优的解决方案,但至少对我有用。我有旧的Eclipse Marte版旧工作区。我尝试以相同的方式设置相同的凭据,并且不出所料旧日食工作。但它也警告我,其他应用程序已修改密码存储并要求我更改它们。修改它与旧日食使霓虹灯工作。他们似乎至少在Windows中共享密码存储。

enter image description here