Нужны презентационные материалы, чтобы убедить клиента использовать Maven - PullRequest
6 голосов
/ 07 октября 2010

Моему заказчику нужна более организованная инвентаризация всех сторонних библиотек (таких как файлы JAR), которые используются в производстве для их проектов.Я связан с рядом их Java-проектов.Их инвентаризация в прошлом не велась постоянно, и пришло время учитывать все библиотеки, которые используются в настоящее время (их немало!), И обеспечить структурированный процесс для введения новых библиотек в среду сборки.

Я пытался представить идею использования Maven и Artifactory в процессе сборки, чтобы использовать возможности этих инструментов для управления хранилищем двоичных библиотек и обработки зависимостей переходных библиотек.Заказчик сопротивляется этому предложению, потому что он считает, что это создаст дополнительную работу для поддержки сервера Artifactory и изучения основ Maven.

В настоящее время все их проекты Java создаются с использованием скриптов Ant.Транзитивные зависимости в значительной степени управляются методом проб и ошибок.Инвентаризация используемых в настоящее время библиотек ведется вручную, а двоичные файлы хранятся в хранилище Subversion.Заказчик признает, что это необходимо улучшить, но текущие предложения по улучшению включают в себя больше специальных подходов «управляй вручную».

Я хочу убедить клиента в том, что сочетание Maven и Artifactory является жизнеспособным готовым решением для их нужд управления библиотекой Java.Может ли кто-нибудь направить меня к литературе / материалам, которые я могу использовать для создания презентации для моего клиента об особенностях и сильных сторонах Maven и Artifactory?

Любые другие аргументы / предложения / и т. Д., Которые помогут мне вэто также будет оценено.

1 Ответ

8 голосов
/ 08 октября 2010

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

Как указано в комментарии, вашему клиенту не обязательно полностью внедрять Maven, чтобы извлечь выгоду из управления зависимостями, вы можете адаптировать существующие сценарии ant для использования задач Maven Ant или плющ.Это может быть менее страшно и уже убрать некоторую боль.

Относительно того, как Maven управляет зависимостями, я бы просто объяснил, что:

  • Артефакт идентифицируется по координатам (groupId, artifactId,версия).
  • Это позволяет хранить их, используя стандартизированную структуру каталогов (хранилище)
  • Зависимость - это больше, чем JAR: это JAR с POM, который обеспечивает такие вещи, как транзитивные зависимостиразрешение.

И преимущества такого решения для управления зависимостями:

  • нет путаницы с зависимостями, они однозначно идентифицированы (не более "какая это версия?"синдром)
  • больше нет двоичных данных в VCS (более быстрое извлечение, меньше места)
  • более простое повторное использование артефактов между проектами (не нужно больше jar-файлов, отправляемых по электронной почте)
  • более простое управлениес транзитивным разрешением зависимостей

И потому, что вы не хотите полагаться на публичные репозитории, потому что вам нужно хранить свои собственныеАртефакты, вам нужен корпоративный репозиторий.Мой личный выбор - Nexus:

  • , потому что он основан на файлах (в отличие от Artifactory, и я не хочу помещать свои артефакты в базу данных)
  • , потому что его просто установить /используйте
  • , потому что его легко администрировать

Вот некоторые ресурсы о Nexus (извините, я просто не использую Artifactory):

И на всякий случай вот несколько презентационных материалов о Maven:

...