Как сделать проект "хранилище / команда" готовым - PullRequest
6 голосов
/ 01 июля 2010

Я некоторое время работал над проектом в одиночку, и теперь новые разработчики могут присоединиться к проекту по разным причинам.

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

Когда я впервые взял на себя управление проектом, мне потребовалось почти два дня, чтобы проект был собран и запущен, я задокументировал каждый шаг и исправил наиболее очевидные ошибки, но не все, и хочу, чтобы проект работал так, как он это когда импортируется.

  • Проект представляет собой смесь java-проектов для бэкэнда, j2ee-проекта для сервера и flex-проекта для клиента.
  • IDE будет Eclipse
  • ПО для управления версиями - Perforce

Вот некоторые конкретные проблемы, с которыми я сталкиваюсь сейчас, стоит ли их исправлять и как?

  1. Переменные среды Eclipse используются для библиотек, все библиотеки находятся в папке в проекте j2ee, но используются всеми проектами java (они должны быть установлены в каждой IDE, в которую импортируется проект)
  2. Runtime JRE указывается в .classpath для каждого проекта, поэтому каждое свойство проектов должно редактироваться при попытке построить проект в другой среде
  3. Сервер Apache указан в свойстве проекта j2ee
  4. Во избежание экспорта jar-файлов всех java-проектов в проект j2ee каждый раз, когда я изменяю код, в проектах j2ee есть связанные папки, связанные с папками bin каждого java-проекта

Для (4) мне, вероятно, придется использовать maven, но возможно ли исправить проблему (1) (2) и (3) без использования maven?

Альтернатива - документ инструкции по установке на одну страницу

Также есть ли у вас какие-либо другие общие или специальные советы относительно организации всего этого беспорядка.

Спасибо

1 Ответ

3 голосов
/ 01 июля 2010
  1. Обязательным условием является управление зависимостями Maven .Если вы не можете использовать maven, потому что вы уже используете ant, используйте Ivy .

  2. Сделайте проект доступным для сборки одним кликом - будьте целыми ant build allили mvn package.Maven обеспечивает интеграцию с IDE (через плагин).

  3. Не отвечать на метаданные IDE.как .project и .classpath.Вы все еще можете зафиксировать их, чтобы упростить работу пользователей Eclipse, но не ограничивайте IDE.

  4. Обеспечьте сборку при сохранении.Либо с помощью Eclipse WTP, либо с помощью плагина FilSync (звучит как хак, но довольно круто)

  5. Использовать профили сборки (maven предоставляет их автоматически) - для создания разных сборок для разныхокружения

  6. Не всегда возможно настроить все в ваших сценариях maven (или ant / ivy).Для любых дополнительных действий, таких как установка сервера приложений - документ в одном файле в корне вашего проекта, шаг за шагом описывая, что нужно установить, с какими настройками и т. Д. Таким образом, разработчики имеют толькоодно место, чтобы посмотреть и следовать.Документ может (и лучше) быть простым .txt

  7. sidenote: использовать Continous Integration - скачать Hudson или TeamCity и настроить его дляпостроить проект

Из моего недавнего опыта - у нас был проект, над которым мы работали 6 месяцев.Мой коллега должен был повторно импортировать проект на новую машину.Это заняло у него 20 минут.Проект настроен с Maven.

...