¿Cuál es la diferencia entre Nexus y Maven?

133

¿Cuál es la diferencia entre Nexus y Maven ?

¿Cuál es un escenario básico de uso solo de Maven ? ¿Qué pasa con un escenario considerando solo Nexus ? ¿Y cómo se ve cuando quiero usar ambos?

ruhungry
fuente

Respuestas:

156

Sonatype Nexus y Apache Maven son dos piezas de software que a menudo funcionan juntas pero que hacen partes muy diferentes del trabajo. Nexus proporciona un repositorio, mientras que Maven usa un repositorio para construir software.

Aquí hay una cita de " ¿Qué es Nexus? ":

Nexus gestiona los "artefactos" de software necesarios para el desarrollo. Si desarrolla software, sus compilaciones pueden descargar dependencias de Nexus y pueden publicar artefactos en Nexus creando una nueva forma de compartir artefactos dentro de una organización. Si bien el repositorio central siempre ha servido como una gran conveniencia para los desarrolladores, no debería utilizarlo directamente. Debería enviar proxy a Central con Nexus y mantener sus propios repositorios para garantizar la estabilidad dentro de su organización. Con Nexus puede controlar completamente el acceso y la implementación de cada artefacto en su organización desde una sola ubicación.

Y aquí hay una cita de " Maven y Nexus Pro, hechos el uno para el otro " que explica cómo Maven usa los repositorios:

Maven aprovecha el concepto de un repositorio recuperando los artefactos necesarios para compilar una aplicación e implementando el resultado del proceso de compilación en un repositorio. Maven utiliza el concepto de repositorios estructurados para que los componentes puedan recuperarse para soportar la compilación. Estos componentes o dependencias incluyen bibliotecas, marcos, contenedores, etc. Maven puede identificar componentes en repositorios, comprender sus dependencias, recuperar todo lo que se necesita para una compilación exitosa e implementar su salida nuevamente en los repositorios cuando la compilación se complete.

Entonces, cuando quiera usar ambos, tendrá un repositorio administrado por Nexus y Maven accederá a este repositorio.

blalasaadri
fuente
14

Esto tiene una buena descripción general: https://gephi.wordpress.com/tag/maven/

Permítanme hacer algunas declaraciones que pueden poner la diferencia en foco:

  1. Migramos nuestra base de código de Ant a Maven

  2. Todas las bibliotecas de terceros se han subido a Nexus. Maven está utilizando Nexus como fuente de bibliotecas.

  3. Las funcionalidades básicas de un administrador de repositorios como Sonatype son:

    • Gestión de dependencias de proyectos,
    • Artefactos y metadatos,
    • Proxying repositorios externos
    • e implementación de binarios y JAR empaquetados para compartir esos artefactos con otros desarrolladores y usuarios finales.
HM
fuente
2

Todo lo que entendí de mi aprendizaje y lo que creo que es está aquí. Estoy citando alguna parte de un libro que aprendí estas cosas. Nexus Repository Manager y Nexus Repository Manager OSS comenzaron como un administrador de repositorio compatible con el formato de repositorio Maven. Si bien ahora admite muchos otros formatos de repositorio, el formato de repositorio de Maven sigue siendo el formato más común y mejor soportado para las herramientas de compilación y aprovisionamiento que se ejecutan en la JVM y más allá. Este capítulo muestra configuraciones de ejemplo para usar el administrador de repositorios con Apache Maven y otras herramientas. Las configuraciones aprovechan la fusión de muchos repositorios y exponerlos a través de un grupo de repositorios. La configuración de esto se documenta en el capítulo, además de la configuración utilizada por herramientas específicas.

Detalles

Luna
fuente