Программирование на Java для группы с помощью Eclipse и SVN
2. Требуемые установки
Это рабочая модель для Java-команды, использующей Eclipse и SVN:
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1021921-vi.webp)
VisualSVN Server
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1021923-vi.webp)
Чтобы получить SVN Repository, вам необходимо установить SVN Server, например, Visual SVN на каком-нибудь компьютере, и он будет сервером SVN. Вы можете ознакомиться с инструкцией по установке и настройке Visual SVN по ссылке:
- Use SVN Repository for free XP-Dev
Subversive
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1021940-vi.webp)
Затем Subversive должен быть установлен в каждой программе Eclipse каждого члена. Вы можете посмотреть инструкцию по адресу:
3. Разделить Project на SVN Repository
Во-первых, члену необходимо предоставить код исходного проекта в SVN Repository (SVN-репозитории)
На приведенном ниже изображении показаны 3 проекта, доступных на компьютере участника. Мы разделим эти три проекта на SVN Server
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1021966-vi.webp)
В Visual SVN создан Repository под названием JavaProjects.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1021972-vi.webp)
Copy URL:
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1021974-vi.webp)
Копируемый URL-адрес может содержать название сервера SVN.
- https://TRAN-VMWARE/svn/JavaProjects/
Вы можете изменить название сервера IP-адресом.
-
Вернемся к Eclipse:
Мы будем совместно использовать 2 Project: ProjectController & ProjectModel в репозиторий JavaProjects:
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022000-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022001-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022002-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022003-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022004-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022005-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022006-vi.webp)
2 проекта: ProjectController & ProjectModel были поделены в SVN Server.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022012-vi.webp)
В момент, когда вы хотите продолжить совместное использование других проектов в одном и том же доступном репозитории (например, JavaProjects), мы продолжим совместное использование ProjectView Project в SVN Server -JavaProjects
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022018-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022019-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022020-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022021-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022022-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022023-vi.webp)
Project ProjectView разделен для совместного использования на Repository.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022029-vi.webp)
Это изображение на Visual SVN Server:
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022035-vi.webp)
4. Checkout Project из SVN Repository
Другие члены группы сделают checkout проектов из репозитория на свой собственный компьютер.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022049-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022050-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022051-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022052-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022053-vi.webp)
Предположим, что мы возьмем только 2 Project для checkout, а другой Project - сделаем checkout позже.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022059-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022060-vi.webp)
2 Project сделаны checkout.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022066-vi.webp)
Мы продолжаем checkout другие проекты (например, он только что был поделен кем-то в группе).
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022072-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022073-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022074-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022075-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022076-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022077-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022078-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022079-vi.webp)
5. Commit и Update
Checkout - извлечение всех данных из одного или нескольких проектов, разделенных в Repository, на локальный компьютер (когда на локальном компьютере нет этого проекта). Затем данные изменяются на локальном компьютере. Используйте функцию Commit для передачи измененных данных в Repository. И используйте функцию Update для извлечения измененных данных.
Теперь мы модифицируем (или добавляем) файлы в проектах и Commit (фиксируем) их в репозитории.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022098-en.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022100-en.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022102-en.webp)
Чтобы перенести измененные данные в SVN Repository, щелкните правой кнопкой мыши на Project или выберите измененный файл, выберите Team/Commit.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022109-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022110-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022111-vi.webp)
Новые добавления и изменения были Commit в SVN Repository.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022117-vi.webp)
В Eclipse других членов можно использовать функцию Update для новых добавленных или измененных данных.
Примечание: В некоторых случаях, когда Commit получает уведомление с ошибкой, вам необходимо выполнить Update перед Commit.
6. Основные функции
SVN имеет много функций, показанных на изображении ниже:
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022142-vi.webp)
Мы изучим, как использовать некоторые важные функции.
Add to svn:ignore
Если вы хотите, чтобы SVN игнорировал папку или файл и не передавал в SVN Repository, вы можете использовать функцию: Add to svn:ignore (добавить в svn:ignore).
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022154-vi.webp)
Например, у вас есть папка, содержащая файлы данных, которыми вы не хотите делиться, как показано ниже:
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022160-vi.webp)
Щелкните правой кнопкой мыши на папку mynote, выберите team/add to svn: ignore
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022166-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022167-en.webp)
Если Commit завершился с ошибкой, как показано ниже:
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022174-vi.webp)
В этом случае вам необходимо Update проект до Commit.
Revert
Revert используется для возврата исходных данных. Например, когда вы изменяете данные некоторых файлов, revert помогает вернуть исходное состояние файла перед изменением.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022186-vi.webp)
Lock & Unlock
Вы изменяете некоторые файлы на локальном компьютере. Во время изменения, если вы не хотите, чтобы кто-либо из группы сделал Commit данных этих файлов в Repository, вы можете использовать функцию Lock, чтобы заблокировать его. После завершения изменения вы можете выполнить Commit и использовать функцию Unlock, чтобы разблокировать файл.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022193-vi.webp)
Cleanup
Вы изменяете некоторые файлы и Commit в SVN Repository, но вы получите сообщение об ошибке, если какой-то из этих файлов кем-то заблокирован. Cleanup помогает освободиться от принудительной блокировки. В этом случае вы не можете использовать функцию Unlock, так как она может использоваться человеком, который заблокировал файл.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022200-vi.webp)
Disconnect
Ваш проект подключен к SVN Repository.
Если вы посмотрите папку Project на жестком диске, вы увидите, что каждая папка содержит скрытую папку .svn. Эти папки содержат информацию о состоянии и данные файлов SVN (похоже на локальный репозиторий).
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022212-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022213-vi.webp)
Щелкните правой кнопкой мыши на проект и выберите "Team / Disconnect", чтобы отключитьс соединение с SVN Repository.
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022219-vi.webp)
Существует два варианта Disconnect (отключения):
- Одновременно и отключитьи удалить всю метаинформацию SVN
- Этот выбор означает удаление скрытых папок .svn во всех папках в Project. Эта ситуация не позволяет повторно подключиться, если вы хотите опять подключиться есть только способ удалить Project на жестком диске или сделать повторно checkout.
- Или только отключить (disconnect).
- Этот выбор просто означает отключение. Метаинформация SVN все так же сохраняется.
Здесь я иллюстрирую использование варианта 2:
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022230-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022231-vi.webp)
Вы можете переподключиться, нажав на правую кнопку мышни на Project и выбрать: Team/Share Project...
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022237-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022238-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022239-vi.webp)
![](https://s1.o7planning.com/web-rs/web-image/ru/arf-1022240-vi.webp)
Java Basic
- Настройте java compiler для обработки вашего Annotation (Annotation Processing Tool)
- Программирование на Java для группы с помощью Eclipse и SVN
- Руководство Java WeakReference
- Руководство Java PhantomReference
- Сжатие и декомпрессия в Java
- Настройка Eclipse для использования JDK вместо JRE
- Методы String.format() и printf() в Java
- Синтаксис и новые функции в Java 8
- Регулярные выражения Java
- Руководство Java Multithreading Programming
- Библиотеки Java JDBC Driver для различных типов баз данных
- Руководство Java JDBC
- Получить значения столбцов, автоматически возрастающих при вставлении (Insert) записи, используя JDBC
- Руководство Java Stream
- Руководство Java Functional Interface
- Введение в Raspberry Pi
- Руководство Java Predicate
- Абстрактный класс и Interface в Java
- Модификатор доступа (Access modifiers) в Java
- Руководство Java Enum
- Руководство Java Annotation
- Сравнение и Сортировка в Java
- Руководство Java String, StringBuffer и StringBuilder
- Обработка исключений Java - Java Exception Handling
- Руководство Java Generics
- Манипулирование файлами и каталогами в Java
- Руководство Java BiPredicate
- Руководство Java Consumer
- Руководство Java BiConsumer
- Что мне нужно для начала работы с Java?
- История Java и разница между Oracle JDK и OpenJDK
- Установить Java в Windows
- Установите Java в Ubuntu
- Установите OpenJDK в Ubuntu
- Установить Eclipse
- Установите Eclipse в Ubuntu
- Быстрое изучение Java для начинающих
- История бит и байтов в информатике
- Типы данных в java
- Битовые операции
- Команда if else в Java
- команды switch в Java
- Циклы в Java
- Массивы (Array) в Java
- JDK Javadoc в формате CHM
- Наследование и полиморфизм в Java
- Руководство Java Function
- Руководство Java BiFunction
- Пример Java encoding и decoding с использованием Apache Base64
- Руководство Java Reflection
- Java Удаленный вызов методов - Java RMI
- Руководство Программирование Java Socket
- Какую платформу я должен выбрать для разработки приложений Java Desktop?
- Руководство Java Commons IO
- Руководство Java Commons Email
- Руководство Java Commons Logging
- Понимание Java System.identityHashCode, Object.hashCode и Object.equals
- Руководство Java SoftReference
- Руководство Java Supplier
- Аспектно-ориентированное программирование Java с помощью AspectJ (AOP)
Show More
- Руководства Java Servlet/JSP
- Руководства Java Collections Framework
- Java API для HTML, XML
- Руководства Java IO
- Руководства Java Date Time
- Руководства Spring Boot
- Руководства Maven
- Руководства Gradle
- Руководства Java Web Services
- Руководства Java SWT
- Руководства JavaFX
- Руководства Oracle Java ADF
- Руководства Struts2 Framework
- Руководства Spring Cloud
Pуководства Subversion (SVN)
- Установка и управление Visual SVN Server
- Программирование C# для группы использующей Visual Studio и SVN
- Установите и используйте Tortoise SVN
- Программирование на Java для группы с помощью Eclipse и SVN
- Программирование для группы с использованием XCode и SVN
- Установите AnkhSVN в Windows
Show More