Quelle est la différence entre Nexus et Maven?

133

Quelle est la différence entre Nexus et Maven ?

Quel est un scénario de base d'utilisation uniquement de Maven ? Qu'en est-il d'un scénario ne considérant que Nexus ? Et à quoi ça ressemble quand je veux utiliser les deux?

ruhungry
la source

Réponses:

156

Sonatype Nexus et Apache Maven sont deux logiciels qui fonctionnent souvent ensemble mais qui font des parties très différentes du travail. Nexus fournit un référentiel tandis que Maven utilise un référentiel pour créer des logiciels.

Voici une citation de " Qu'est-ce que Nexus? ":

Nexus gère les «artefacts» logiciels nécessaires au développement. Si vous développez des logiciels, vos builds peuvent télécharger des dépendances à partir de Nexus et publier des artefacts sur Nexus, créant ainsi une nouvelle façon de partager des artefacts au sein d'une organisation. Bien que le référentiel central ait toujours été une grande commodité pour les développeurs, vous ne devriez pas le frapper directement. Vous devez utiliser le proxy Central avec Nexus et gérer vos propres référentiels pour garantir la stabilité au sein de votre organisation. Avec Nexus, vous pouvez contrôler complètement l'accès et le déploiement de chaque artefact de votre organisation à partir d'un emplacement unique.

Et voici une citation de " Maven et Nexus Pro, faits l'un pour l'autre " expliquant comment Maven utilise les référentiels:

Maven exploite le concept de référentiel en récupérant les artefacts nécessaires pour créer une application et en déployant le résultat du processus de génération dans un référentiel. Maven utilise le concept de référentiels structurés afin que les composants puissent être récupérés pour prendre en charge la construction. Ces composants ou dépendances incluent des bibliothèques, des frameworks, des conteneurs, etc. Maven peut identifier les composants dans les référentiels, comprendre leurs dépendances, récupérer tout ce qui est nécessaire pour une construction réussie et déployer sa sortie vers les référentiels lorsque la construction est terminée.

Ainsi, lorsque vous souhaitez utiliser les deux, vous aurez un référentiel géré par Nexus et Maven accédera à ce référentiel.

blalasaadri
la source
14

Cela a une bonne description générale: https://gephi.wordpress.com/tag/maven/

Permettez-moi de faire quelques déclarations qui peuvent mettre la différence en évidence:

  1. Nous avons migré notre base de code d'Ant vers Maven

  2. Toutes les bibliothèques tierces ont été téléchargées sur Nexus. Maven utilise Nexus comme source pour les bibliothèques.

  3. Les fonctionnalités de base d'un gestionnaire de référentiels comme Sonatype sont:

    • Gérer les dépendances des projets,
    • Artefacts et métadonnées,
    • Proxy des référentiels externes
    • et le déploiement de fichiers binaires et JAR packagés pour partager ces artefacts avec d'autres développeurs et utilisateurs finaux.
HM
la source
2

Tout ce que j'ai compris de mon apprentissage et ce que je pense est ici. Je cite une partie d'un livre où j'ai appris ces choses. Nexus Repository Manager et Nexus Repository Manager OSS ont démarré en tant que gestionnaire de référentiel prenant en charge le format de référentiel Maven. Bien qu'il prenne désormais en charge de nombreux autres formats de référentiel, le format de référentiel Maven reste le format le plus courant et le mieux pris en charge pour les outils de construction et de provisionnement s'exécutant sur la JVM et au-delà. Ce chapitre présente des exemples de configuration pour l'utilisation du gestionnaire de référentiel avec Apache Maven et un certain nombre d'autres outils. Les configurations tirent parti de la fusion de nombreux référentiels et de leur exposition via un groupe de référentiels. Cette configuration est documentée dans le chapitre en plus de la configuration utilisée par des outils spécifiques.

Détails

Lune
la source