2010-10-07 1 views
6

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

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

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

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

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

+0

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

+0

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

+0

Я только что начал читать о другом проекте Apache под названием «Ivy», который делает Dependency Management и предназначен для использования с Ant. Я готов исследовать это как решение, если оно может предоставить аналогичные функции управления зависимостями, такие как Maven. –

ответ

8

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

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

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

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

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

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

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

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

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

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

+0

Спасибо Паскаль, это определенно поможет! –

+0

@ Jim Tough: Добро пожаловать. И удачи. –

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