В чем разница между Nexus и Maven?

В чем разница между Nexus и Maven?

Каков основной сценарий использования только Maven? Как насчет сценария, рассматривающего только Nexus? И как это выглядит, когда я хочу использовать оба?

3 ответа

Решение

Sonatype Nexus и Apache Maven - это две программы, которые часто работают вместе, но выполняют разные части работы. Nexus предоставляет хранилище, в то время как Maven использует хранилище для сборки программного обеспечения.

Вот цитата из " Что такое Nexus?":

Nexus управляет программными "артефактами", необходимыми для разработки. Если вы разрабатываете программное обеспечение, ваши сборки могут загружать зависимости из Nexus и публиковать артефакты в Nexus, создавая новый способ обмена артефактами в организации. Несмотря на то, что центральное хранилище всегда было большим удобством для разработчиков, вам не следует обращаться к нему напрямую. Вы должны использовать прокси-сервер Central с Nexus и поддерживать свои собственные репозитории, чтобы обеспечить стабильность в своей организации. С Nexus вы можете полностью контролировать доступ и развертывание каждого артефакта в вашей организации из одного места.

А вот цитата из " Maven и Nexus Pro, созданная для друг друга", объясняющая, как Maven использует репозитории:

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

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

Это имеет хорошее общее описание: https://gephi.wordpress.com/tag/maven/

Позвольте мне сделать несколько заявлений, которые могут подчеркнуть разницу:

  1. Мы перенесли нашу кодовую базу из Ant в Maven

  2. Все сторонние библиотеки были загружены в Nexus. Maven использует Nexus в качестве источника для библиотек.

  3. Основные функции менеджера репозитория, такого как Sonatype:

    • Управление проектными зависимостями,
    • Артефакты и метаданные,
    • Проксирование внешних репозиториев
    • и развертывание упакованных двоичных файлов и JAR-файлов для обмена этими артефактами с другими разработчиками и конечными пользователями.

Все, что я понял из моего обучения и что я думаю, это здесь. Я цитирую какую-то часть из книги, которую я изучил. Nexus Repository Manager и Nexus Repository Manager OSS начинали как менеджер репозитория, поддерживающий формат репозитория Maven. Хотя сейчас он поддерживает многие другие форматы репозитория, формат репозитория Maven по-прежнему является наиболее распространенным и хорошо поддерживаемым форматом для инструментов сборки и предоставления, работающих на JVM и за его пределами. В этой главе приведены примеры конфигураций для использования менеджера репозитория с Apache Maven и рядом других инструментов. Установки используют преимущества объединения многих репозиториев и раскрытия их через группу репозиториев. Настройка этого описана в главе в дополнение к конфигурации, используемой определенными инструментами. подробности

Другие вопросы по тегам