Должны ли библиотеки (jar) входить в хранилище? - PullRequest
7 голосов
/ 02 марта 2009

Когда вы начинаете использовать стороннюю библиотеку в Java, вы добавляете их jar в свой проект. Вы также добавляете jar-файлы в хранилище или просто сохраняете локальную установку. И если последнее, как вы синхронизируете между членами команды, чтобы иметь возможность работать?

Спасибо.

Ответы [ 8 ]

12 голосов
/ 02 марта 2009

Да. Вы должны добавить в репозиторий все, что требуется разработчику для чистой системы (помимо установки JDK и ant), чтобы проверить и собрать проект.

10 голосов
/ 02 марта 2009

Нет, если вы используете Maven. Поместите их в репозиторий Maven (если они еще не созданы, большинство библиотек с открытым исходным кодом уже находятся в общедоступных репозиториях Maven).

Да, если вы используете Ant.

4 голосов
/ 02 марта 2009

Если вы используете ANT и хотите управлять зависимостями в стиле maven без maven, взгляните на Ivy . Он может загружать из репозиториев Maven и даже читать файлы Maven POM.

3 голосов
/ 02 марта 2009

Да, сторонние библиотеки должны управляться версиями, так как вы захотите, чтобы все компилировали одну и ту же версию этой библиотеки. Таким образом, когда произойдет обновление этой сторонней библиотеки, вам просто придется изменить ее в одном месте, и все обновятся до новой версии. В противном случае вы легко могли бы закончить со знаменитым: «Он компилируется на моей машине!» - синдром.

2 голосов
/ 02 марта 2009

При условии, что вы не используете Maven, вам обязательно нужно проверить версии сторонних jar-файлов. Вы (или, что более важно, разработчик сопровождения, который придет за вами) должны иметь возможность извлечь версию вашего приложения из хранилища и иметь все правильные версии всех сторонних jar-файлов, требуемых во время компиляции и выполнения.

Вы также должны поддерживать историю версий сторонних jar-файлов, чтобы помочь разработчику технического обслуживания. Регистрация их в хранилище - самый простой и эффективный способ сделать это.

1 голос
/ 02 марта 2009

Короткий ответ

нет

Нет

Более длинный ответ

А пока используйте папку в вашей сети отдельно от репозитория.

Долгосрочное решение

Используйте maven . Он был создан для обработки ваших сборок, конфигурации и внешних jar-зависимостей.

Идите здесь для документации, хотя. (Официальная документация maven, как известно, довольно пятнистая).

1 голос
/ 02 марта 2009

Я бы порекомендовал управлять всеми версиями, необходимыми для создания проекта. Если только вы не используете такой инструмент сборки, как maven.

0 голосов
/ 02 марта 2009

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

Это то, для чего родился Maven. Я должен научиться правильно его использовать, но до тех пор у меня есть собственный JAR-репозиторий.

...