2010-09-13 3 views
1

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

Я хотел бы знать, какие файлы необходимо хранить на SVN, а какие можно оставить без внимания. Я знаю, что файлы, созданные Netbeans, могут быть опущены, и файл build.xml должен быть включен, поскольку он имеет код для упаковки библиотек, используемых в проекте, в файл .jar.

Я предполагаю, что следующее необходимо хранить на сервере SVN:

/lib 
/src 
build.xml 
  • ли какие-либо файлы в папке nbproject нужно добавить?

  • Если не то, что СВН команды (IE СВН-игнорировать) мне нужно бежать игнорировать все файлы для тех, кто в/Lib,/ЦСИ и файл build.xml за исключением?

  • Какова должна быть структура файла на svn? Должен ли я хранить исходные файлы в каталоге src на svn или мне следует указать папку что-то еще, чтобы разработчик мог затем «Создать новый проект из существующего источника»?

ответ

0

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

Еще одна причина, по которой я решил сделать то, что я сделал, во время добавления моего svn: ignore я понял, что некоторые разработчики здесь сохраняют свои настройки проекта netbeans в разных каталогах, что в принципе не принесет пользы, поскольку это не будет svn рабочая копия в этом каталоге.

Так что я сделал, просто добавил каталог/src и/lib в репо.

Затем конечный пользователь проверяет репо с svn co svn+ssh://path/to/repo/trunk ., а затем откроет netbeans и выберите «Создать проект из существующего источника». В этот момент они войдут и добавят библиотеку из каталога/lib.

У меня есть Проголосовали за ваш ответ, поскольку это было бы очень полезно, если бы я прошел через использование Maven.

+1

Даже если это уже имеет место в вашей команде, вы должны подумать о едином способе загрузки ваших проектов, чтобы новым разработчикам не пришлось открывать новую архитектуру. Плюс в вашем случае, наличие одинаковой архитектуры на каждом ПК для разработчиков позволит им легко работать вместе, не нужно настраивать конфигурацию каждый раз. Тем не менее, я понимаю, что вы не хотите сейчас все менять. –

5

Вы не должны разместить вас Lib каталог на SVN, вы можете использовать Ivy или Maven как менеджер зависимостей, который будет загружать все ваши зависимости от хранилища.

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


Для svn:ignore части вы должны сделать svn propset svn:ignore dirname . в командной строке.


Общий файл структура:

/svn 
|-projectName/ 
|-branches/ 
|-tags/ 
|-trunk/ 
    |-projectName/ (Sometimes this directory doesn't exists and its content is put right into trunk) 
    |-pom.xml (Maven !) 
    |-module1Name/ 
    |-src/ 
    |-main/ 
     |-java/ 
     |-resources/ 
    |-test/ 
     |-java/ 
     |-resources/ 
    |-pom.xml (Maven !) 
    |-module2Name/ 
    |-module3Name/ 

Ресурсы:

На эту же тему:

+0

Все разработчики этого отдела используют Netbeans, однако их файловая структура отличается. – Bot

+2

Сохранение папки lib в репозитории, IMHO, вполне нормально для проектов с небольшими и стабильными зависимостями, но в целом я согласен с Колином, Айви или Maven - это путь. Наверное, я просто стонаю о строгой директиве «Не надо» :). – darri

+0

Проблема в том, что любой проект может развиваться и когда-нибудь понадобится новые зависимости или новые версии. Некоторые зависимости также могут исчезнуть. Если вы не будете использовать хорошие практики с самого начала, это будет труднее избавиться от плохих позже. –

Смежные вопросы