Настройка Eclipse для работы с Subversion по протоколу svn+ssh в Windows.
Проблема:
При попытке подключения к репозиторию SVN по ssh Eclipse выкидывал ошибку "svn: Can't create tunnel: The system cannot find the file specified.". Поэтому возникла необходимость разобраться и настроить среду Eclipse для работы с репозиториями SVN по SSH в операционной системе Windows.
Исходные данные:
- Windows XP (x32)
- IDE Eclipse JUNO (x32)
- TortoiseSVN (установка и русификация)
- Приватный и публичный ключи ssh (публичный ключ должен быть уже передан администратору сервера и добавлен) (как это сделать читайте здесь)
Решение:
1. Установка плагина для Eclipse:
В интернете множество статей как это сделать, но все же лучше обо всем по порядку.
Запускаем Eclipse и переходим по следующему пути : Help -> Install New Software... (рис 1).
Далее мы попадаем в диалог установки новых модулей для Eclips. Нажимаем кнопку Add для добавления нового репозитория (рис 2).
В диалоге Add Repository (рис 3) делаем настройки:
В поле Name указываем название какое в голову придет, а в Location прописываем следующий путь: http://subclipse.tigris.org/update_1.8.x нажимаем OK.
На экране появится следующий диалог Install, в котором отмечаем пункты для установки (рис 4) и жмем Next.
В репозитории содержится два раздела
JNA Library - JNA (Java Native Access) позволяет программам на Java получать удобный и простой доступ к внешним системным библиотекам
Subversion Client Adapter (not required) - Subversion клиент-адаптер для использования с чистой Java SVNKit библиотекой.
SVNKit Library - SVNKit является чистой Java Subversion клиентской библиотекой, которая может быть использована через собственный API или выступать в качестве прозрачной замены родного JavaHL.
В репозитории содержится два раздела
- Subclipse - плагин Subversion для Eclipse 3.2 и выше.
- SVNKit - SVNKit библиотека поддержки Subversion 1.7.x API
Subclipse содержит следующие доступные для установки пакеты:
CollabNet Merge Сlient - клиент CollabNet предназначен для выполнения слияний веток, ревизий и так далее в проекте Subversion в среде Eclipse, предоставляет очень широкие возможности.
Subclipse (Required) - собственно сам плагин обеспечивающий работу Eclipse c системой управления версиями Subversion. Как вы заметили из названия required - обязательный компонент.
Subclipse Integration for Mylyn 3.x (Optional) - предоставляет функции интеграции между Subclipse и Mylyn - подсистемой отслеживания ошибок и управления заданиями среды разработки Eclipse. Дополнительно можно посмотреть здесь. Устанавливается по желанию, но мне она очень нравится и я её устанавливаю. В следующих постах поговорим об это подробнее.
Subversion Client Adapter (Required) - Subversion клиент-адаптер обеспечивает общий интерфейс для функциональности клиента Subversion (required - обязательно для установки).
Subversion JavaHL Native Library Adapter - Subversion клиент-адаптер для использования системы Subversion с родной библиотекой JavaHL.
Subversion Revision Graph - модуль позволяет строить граф ревизий вашего проекта.
SVNKit содержит следующие доступные для установки пакеты:
Subversion Client Adapter (not required) - Subversion клиент-адаптер для использования с чистой Java SVNKit библиотекой.
SVNKit Library - SVNKit является чистой Java Subversion клиентской библиотекой, которая может быть использована через собственный API или выступать в качестве прозрачной замены родного JavaHL.
Таким образом для начальной работы (подключиться к SVN репозиторию и делать коммиты) достаточно установить только обязательные компоненты - Subclipse (Required), Subversion Client Adapter (Required) и возможно понадобится Subversion JavaHL Native Library Adapter. Остальное можно ставить, а можно нет это зависит от ваших потребностей при работе с SVN.
Соглашаемся с лицензионным соглашением и начинаем установку нажатием на кнопку Finish (рис 6).
![]() |
Рисунок 6 |
Устраиваемся поудобнее и смотрим как качаются и устанавливаются наши плагины (рис 7).
После установки Eclipse попросит перезагрузиться нажимаем Yes (рис 8).
![]() |
Рисунок 7 |
![]() |
Рисунок 8 |
На этом установка плагина закончена. Чтобы проверить данный факт необходимо открыть Help -> Install New Software... (рис 1) и ищем ссылку What is already installed? (можно посмотреть на рис. 2). Нажимаем на нее и видим диалог с установленными дополнениями Eclipse (рис 9).
![]() |
Рисунок 9 |
2. Настройка Eclipse
Для начала укажем Eclipse наш приватный ключ. Для этого идем в меню Window->Preferences. В появившемся диалоге выбираем General->Network Connections->SSH2 вкладка General (рис 10). Нажимаем Add Private Key... и выбираем ваш приватный ключ.
![]() |
Рисунок 10 |
Следующим шагом нам необходимо настроить интерфейс SVN через который мы будем обращаться к репозиториям. Переходим по следующему пути Team->SVN и в выпадающем списке Client в секции SVN interface выбираем JavaHL (JNI) (рис 11) и сохраняем изменения.
![]() |
Рисунок 11 |
Теперь можно проверить что мы получили для работы с SVN в Eclipse. В Eclipse переходим в меню Window->Open Perspective->Other.. и видим окно как на рисунке 12.
![]() |
Рисунок 12 |
Выбираем SVN Repository Exploring и наш Eclipse преобразуется в нечто похожее на мой изображенный на рисунке 13. Скрыть/отобразить дополнительные панели можно в меню Window->Show View->.. Вот здесь и будет происходить управление нашим проектом.
![]() |
Рисунок 13 |
3. Настройка Windows
Теперь необходимо указать нашей системе каким образом она будет работать с ключами. Для этого нам необходимо создать новую системную переменную. Нажимаем на ярлыке "Мой компьютер" правую кнопку мыши и выбираем пункт "Свойства", в появившемся окне переходим на вкладку "Дополнительно". Нажимаем кнопку "Переменные среды" (рис 14).
![]() |
Рисунок 14 |
Перед вами появится переменные среды вашей системы, для добавления новой переменной необходимо нажать кнопку "Создать" (рис 15)
![]() |
Рисунок 15 |
В появившемся окне необходимо ввести следующие данные:
Имя переменной: SVN_SSH
Значение переменной: C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe
Значение переменной должно содержать путь к исполняемому файлу TortoisePlink.exe, который входит в TortoiseSVN. Самое главное здесь это слеши "\ \". Это очень важно, иначе не будет работать. (рис 16)
![]() |
Рисунок 16 |
4. Подключение к репозиторию SVN
Все предварительные настройки мы закончили и теперь можно переходить непосредственно к работе с проектом, расположенном в Subversion. Итак запускаем Eclipse и создаем новый проект File->New->Other... (рис 17).
![]() |
Рисунок 17 |
В появившемся диалоге выбираем тип проекта SVN->Checkout projects from SVN жмем Next (рис 18).
![]() |
Рисунок 18 |
Выбираем создать новый путь к репозиторию Create a new repository location и жмем кнопку Next (рис 19)
![]() |
Рисунок 19 |
На следующем экране вставляем Url путь к вашему репозиторию и нажимаем кнопку Next (рис 20).
![]() |
Рисунок 20 |
Eclipse пытается соединиться с вашим репозиторием и если вы все указали верно то отобразится структура каталогов вашего репозитория (рис 21).
![]() |
Рисунок 21 |
Жмем Next и на следующем шаге вводим имя нашего проекта в поле Project Name. При желании можно указать ревизию, которую следует скачивать (рис 22).
![]() |
Рисунок 22 |
Eclipse спросит вас какое рабочее пространство использовать для данного проекта (рис 23). Выбираем свое или используем по умолчанию.
![]() |
Рисунок 23 |
Нажимаем кнопку Finish и наблюдаем как Eclipse выкачивает ваш проект из репозитория (рис 24).
![]() |
Рисунок 24 |
В результате наш Eclipse примет следующий вид в перспективе SVN Repository Exploring (рис 25) и в перспективе Java (рис 26).
![]() |
Рисунок 25 |
![]() |
Рисунок 26 |
На это настройка закончена и можно приступать к работе над проектом.
все круто вот только где взять ключи или как их создать )
ОтветитьУдалитьцитата "
Приватный и публичный ключи ssh (публичный ключ должен быть уже передан администратору сервера и добавлен)"
а также нет ничего про замечательную программку
цитата "Значение переменной должно содержать путь к исполняемому файлу TortoisePlink.exe, который входит в TortoiseSVN. Самое главное здесь это слеши "\ \". Это очень важно, иначе не будет работать. (рис 16)"я думаю что если не объяснить как она ставится и работает то толку от того в какую сторону слеши она и так не будет работать -:)
В данной статье подразумевается что у Вас уже имеется ключи сгенерированные администратором, либо вы сами сгенерировали пару ключей использую PyTTY. В следующем посте обязательно опишу как это сделать. На программу TortoiseSVN имеется ссылка в "Исходные данные". Ждите новых постов с подробными настройками и описанием
ОтветитьУдалитьПриватный ключ не подхватывается, в чём может быть проблема.
ОтветитьУдалитьВыдается окно с запросом пароля.
Но тот же ключ работает в Tortoise.
Передал его в аргументах TortoisePlink при установке переменной SVN_SSH.
Удалить