Я могу использовать git fine из командной строки, я могу использовать отлично git из IDE NetBeans, и я могу использовать git fine из IntelliJ IDEA.

Но я не могу использовать git ни в одном экземпляре Eclipse (ни в чистом Eclipse для Java IDE, ни в IBM Rational Application Developer, основанном на Eclipse). Ключи SSH настроены так же, как и для других IDE, и действительны.

Я подозреваю, что проблема на каком-то уровне ОС, возможно, Eclipse где-то хранит некоторые глобальные настройки, и все экземпляры их повторно используют. Пытался удалить %USERPROFILE%/.eclipse - не помогло.

Ошибка в .log похожа на эту (опять же, ключи действительны и правильно настроены в диалоговом окне настроек SSH2 в Eclipse):

!ENTRY org.eclipse.egit.ui 4 0 2019-03-29 13:01:45.024
!MESSAGE git@git.assembla.com:xxx.git: git@git.assembla.com: Permission denied (publickey,keyboard-interactive).

!STACK 0
org.eclipse.jgit.api.errors.TransportException: git@git.assembla.com:xxx.git: git@git.assembla.com: Permission denied (publickey,keyboard-interactive).

[ОБНОВЛЕНО 02.04.19]

enter image description here enter image description here

Как вы можете видеть, github.com даже не был добавлен к известным хостам, то есть не пытался подключиться.

enter image description here enter image description here

Типичная ошибка.

enter image description here

Командная строка git работает

enter image description here enter image description here

Добавление идентификатора пользователя git к типу соединения по протоколу ssh не помогает.

1
Barat Sahdzijeu 29 Мар 2019 в 13:40

1 ответ

Лучший ответ

Хорошо, играя с Visual Studio Code, я наткнулся на ту же проблему и смог ее исправить, поэтому я попытался применить решение к Eclipe, и оно начало работать для меня.

Не знаю, почему возникла первоначальная проблема, но теперь я нашел по крайней мере обходной путь и могу использовать Git из Eclipse.

Напомню, что у меня было в Eclipse:

enter image description here

org.eclipse.core.runtime.CoreException: недопустимый удаленный: источник в org.eclipse.egit.ui.internal.fetch.FetchOperationUI.execute (FetchOperationUI.java:106) в org.eclipse.egit.ui.internal.fetch. FetchOperationUI $ 1.runInWorkspace (FetchOperationUI.java:123) в org.eclipse.core.internal.resources.InternalWorkspaceJob.run (InternalWorkspaceJob.java:38) в org.eclipse.core.internal.jobs.Worker.run (Worker.java : 54) Вызвано: org.eclipse.jgit.api.errors.InvalidRemoteException: недопустимый удаленный: origin в org.eclipse.jgit.api.FetchCommand.call (FetchCommand.java:136) в org.eclipse.egit.core. op.FetchOperation.run (FetchOperation.java:134) в org.eclipse.egit.ui.internal.fetch.FetchOperationUI.execute (FetchOperationUI.java:103) ... еще 3 Причина: org.eclipse.jgit.errors .NoRemoteRepositoryException: git XXXXXXXXXXXXXXXXXXX: в доступе отказано (открытый ключ). по адресу org.eclipse.jgit.transport.TransportGitSsh.cleanNotFound (TransportGitSsh.java:208) по адресу org.eclipse.jgit.transport.TransportGitSsh $ SshFetchConnection. (TransportGitSsh.java:288) по адресу org.esh.transipse.port. openFetch (TransportGitSsh.java:161) в org.eclipse.jgit.transport.FetchProcess.executeImp (FetchProcess.java:136) в org.eclipse.jgit.transport.FetchProcess.execute (FetchProcess.java:122) в org.eclipse .jgit.transport.Transport.fetch (Transport.java:1138) в org.eclipse.jgit.api.FetchCommand.call (FetchCommand.java:130)

Решением было сначала запустить агент SSH (чтобы не спрашивать парольную фразу), а затем в том же сеансе оболочки запустить Eclipse. Без каких-либо изменений в Eclipse ошибка исчезла, и IDE начала достигать репозитория.

Итак, шаги будут:

  1. Открытый сеанс оболочки (cmd.exe)
  2. Запустить агент SSH (start-ssh-agent.cmd)
  3. [В том же сеансе оболочки] Запустите Eclipse (eclipse.exe)
0
Barat Sahdzijeu 4 Июл 2019 в 09:40