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

133

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

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

ruhungry
источник

Ответы:

156

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

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

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

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

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

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

blalasaadri
источник
14

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

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

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

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

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

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

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

подробности

Луна
источник