В чем разница между Nexus и Maven ?
Каков базовый сценарий использования только Maven ? А как насчет сценария, учитывающего только Nexus ? И как это выглядит, когда я хочу использовать оба?
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/
Позвольте мне сделать несколько заявлений, которые подчеркнут разницу:
Мы перенесли нашу кодовую базу с Ant на Maven
Все сторонние библиотеки были загружены в Nexus. Maven использует Nexus в качестве источника для библиотек.
Основные функции менеджера репозитория, такого как Sonatype:
Все, что я понял из своего обучения, и то, что я думаю, здесь. Я цитирую какую-то часть из книги, которую я узнал об этом. Nexus Repository Manager и Nexus Repository Manager OSS начинался как менеджер репозитория, поддерживающий формат репозитория Maven. Хотя сейчас он поддерживает многие другие форматы репозиториев, формат репозитория Maven по-прежнему является наиболее распространенным и хорошо поддерживаемым форматом для инструментов сборки и подготовки, работающих на JVM и за его пределами. В этой главе показаны примеры конфигураций для использования менеджера репозитория с Apache Maven и рядом других инструментов. В настройках используется объединение множества репозиториев и их раскрытие через группу репозиториев. Настройка этого описана в главе в дополнение к конфигурации, используемой конкретными инструментами.