web-dev-qa-db-fra.com

Chargement de dépendances Maven depuis GitHub

Comment ajouter une Java à partir de son référentiel GitHub (la bibliothèque utilise Maven en tant que système de construction)) en tant que dépendance de mon projet Maven? Puis-je le faire sans télécharger et compiler la bibliothèque?

78
Arielle

Maintenant, vous pouvez importer une bibliothèque Java à partir d'un dépôt GitHub en utilisant JitPack . Dans votre pom.xml:

  1. Ajouter un référentiel:
<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>
  1. Ajouter une dépendance
<dependency>
    <groupId>com.github.User</groupId>
    <artifactId>Repo name</artifactId>
    <version>Release tag</version>
</dependency>

Cela fonctionne parce que JitPack va extraire le code et le construire. Donc, vous finirez par télécharger le pot.
Si le projet n’a pas de version GitHub, il est alors possible d’utiliser un identifiant de validation en tant que version.

120
Andrejs

Pour le moment, vous ne pouvez le faire que si le responsable de la bibliothèque vous a fourni le moyen de le faire.

Ainsi, sur la page de titre de la bibliothèque, il devrait s'agir d'une instruction contenant l'adresse du référentiel, comme suit:

<repositories>
    <repository>
        <id>YOUR-PROJECT-NAME-mvn-repo</id>
        <url>https://raw.github.com/YOUR-USERNAME/YOUR-PROJECT-NAME/mvn-repo/</url>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
        </snapshots>
    </repository>
</repositories>

Et un nom de dépendance:

<dependency>
     <groupId>...</groupId>
     <artifactId>...</artifactId>
     <version>...</version>
</dependency>

Cela signifie que tous les artefacts de votre projet, y compris votre dépendance, seront recherchés dans ce référentiel.

Vous pouvez également jeter un coup d'œil sur pom.xml pour vérifier si des efforts ont été déployés pour déployer des artefacts sur un dépôt distant. Typiquement, les mots-clés sont oss.sonatype.org ou raw.github.com comme dans ce cas.

Pour votre information, voici un moyen de fournir un dépôt pour votre artefact gihub: Hébergement d’un dépôt Maven sur github .

18
Andrey Chaschev

Une autre très belle chose à propos de Jitpack est, il a un bouton de recherche sur la page principale. Et si vous tapez l'URL de votre référentiel GitHub, il affiche différents commits du code source et vous pouvez sélectionner le commit/tag de votre choix. Le Jitpack crée des dépendances de pom pour vous.

C'est devenu simple comme bonjour.

2
Memin