Entrepôt privé Maven - Nexus3

Entrepôt privé Maven - Nexus3

  • Pendant le travail, il peut être nécessaire d'encapsuler certaines bibliothèques d'outils courantes
  • Cependant, le code des sociétés est plus sensible et ne peut généralement pas être ouvert aux entrepôts publics
  • À l'heure actuelle, vous pouvez utiliser Nexus3 pour créer un entrepôt privé à usage interne dans l'entreprise
  • Version vidéo : BiliBili

Étapes de démonstration

  1. Créer un service Nexus3 à l'aide de Docker
  2. Créer un projet et un dépôt push
    • Modifier la configuration du fichier pom.xml du projet
    • Modifier la configuration du logiciel Maven
    • Utilisez la commande "mvn deploy" pour pousser vers l'entrepôt
  3. Créer un projet et référencer le projet de l'étape précédente
    • Modifier la configuration du logiciel Maven
    • Redémarrez l'IDE
    • Utilisez la commande "mvn install" pour installer les dépendances

1. Utilisez docker pour créer le service nexus3

  • Utiliser docker pour créer un conteneur nexus3
    • Accès : http://127.0.0.1:8081
    • Il consomme plus de ressources et la vitesse de démarrage est plus lente. S'il indique que la page n'est pas accessible, attendez un peu plus longtemps (cela peut prendre trois à cinq minutes pour une racaille informatique, comme la mienne)
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
复制代码
  • obtenir le mot de passe nexus3

    • Cliquez sur "Connexion" dans le coin supérieur droit de la page et suivez les invites dans la fenêtre contextuelle pour trouver le mot de passe par défaut
      • Compte par défaut : administrateur
      • Mot de passe par défaut : "/nexus-data/admin.password" à l'intérieur du conteneur
      • Vous serez invité à réinitialiser le mot de passe, à modifier le mot de passe dont vous vous souvenez (ou à utiliser le mot de passe par défaut) et vous devrez l'utiliser plus tard dans la configuration.
  • Comme indiqué dans la figure ci-dessous, copiez l'adresse de l'entrepôt "maven-releases"/"maven-snapshots"

nexus.png

  • nexus-public est un groupe d'entrepôts, qui contient les entrepôts suivants par défaut
    • maven-releases : bibliothèque de versions locales
    • maven-snapshots : bibliothèque locale d'instantanés
    • maven-central : bibliothèque maven centrale de proxy, peut être remplacée par un proxy domestique, tel qu'Alibaba Cloud ( maven.aliyun.com/repository/… )

2. Créez un projet et poussez l'entrepôt

Modifier la configuration du fichier pom.xml du projet

  • Transformez directement le projet Maven (ou créez un nouveau projet Maven)
    • Exécutez "mvn package" pour empaqueter les projets jar
    • Ajoutez les informations d'adresse nexus3 dans pom.xml comme suit
      • Même niveau que les dépendances/build
    <dependencies>...略</dependencies>
    <build>...略</build>

    <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>maven-releases</name>
            <url>${这里填写从nexus页面上复制的maven-releases的url}</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>maven-snapshots</name>
            <url>${这里填写从nexus页面上复制的maven-snapshots的url}</url>
        </snapshotRepository>
    </distributionManagement>
复制代码
  • pousser le paquet
    • Exécutez "mvn deoloy"
    • À ce moment, une erreur "...status : 401 Unauthorized" est signalée, indiquant que la configuration du projet est correcte

Modifier la configuration du logiciel Maven

  • Ouvrez ${répertoire racine maven}/conf/settings.xml
    • Ajouter le mot de passe du compte Nexus
    • L'id doit être cohérent avec celui configuré dans le projet pom.xml
<servers>
    <server>
        <id>maven-releases</id>
        <username>admin</username>
        <password>${密码}</password>
    </server>
    <server>
        <id>maven-snapshots</id>
        <username>admin</username>
        <password>${密码}</password>
    </server>
</servers>
复制代码
  • Exécuter à nouveau "mvn deploy" ne signalera pas d'erreur
    • Actualisez la page Nexus pour voir le package téléchargé
      • Version du projet sans "-SNAPSHOT" dans le répertoire "maven-releases"
      • Sinon dans le répertoire "maven-releases"

3. Créez un projet et référencez le code du projet de l'étape précédente

Modifier la configuration du logiciel Maven

  • Ouvrez ${répertoire racine maven}/conf/settings.xml
    • Activer la mise en miroir, commenter s'il existe d'autres mises en miroir
  • Redémarrez l'IDE, ajoutez une dépendance dans pom.xml comme une bibliothèque en ligne à utiliser
<mirror>
    <id>nexus-public</id>
    <mirrorOf>*</mirrorOf>
    <name>私有仓库</name>
    <url>${这里填写从nexus页面上复制的maven-public的url}</url>
</mirror>
复制代码

Les références

Je suppose que tu aimes

Origine juejin.im/post/7222282849554481189
conseillé
Classement