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