Java

Dépôts Gradle

Dépôts Gradle
Gradle recherche des dépendances externes dans les référentiels. Un référentiel Gradle est organisé en utilisant le groupe, le nom et la version. Gradle est compatible avec différents formats de référentiel comme Maven et Ivy.

Comprendre la gestion des dépendances dans Gradle

Les référentiels sont utilisés dans Gradle pour la gestion des dépendances. Les dépendances de Gradle comportent deux composants : les dépendances et les publications du projet.

Lorsque vous construisez un projet sur Gradle, vous aurez probablement besoin de bibliothèques d'autres développeurs. Supposons que vous ayez besoin de la bibliothèque Apache Commons Lang pour des manipulations de chaînes spéciales. Vous en avez donc besoin dans votre chemin de classe pour que votre code fonctionne. Et Apache Commons Lang peut avoir besoin de bibliothèques supplémentaires dont vous n'êtes pas au courant. Gradle vous permet d'indiquer la dépendance particulière dont votre projet a besoin et il ira au référentiel spécifié comme Maven ou Ivy et découvrira toutes les dépendances associées et téléchargera les fichiers et les configurera automatiquement pour vous.

Gradle a également la possibilité de publier vos artefacts. Vous pouvez décider de ce que signifie la publication pour votre cas particulier. Vous pouvez le publier localement ou le publier dans un référentiel Maven ou Ivy.

Exemple de référentiel Gradle

Supposons que nous souhaitions utiliser la classe StringUtils de la bibliothèque Apache Commons Lang. Mettons en place un réalisateur comme celui-ci :

Bonjour le monde
|-- construire.graduer
'-- src
|-- principal
'-- java
'-- Bonjour le monde
'-- Bonjour le monde.Java

Dans le helloworld.java, vous pouvez mettre le code suivant :

importer l'organisation.apache.Chambre des communes.lang3.StringUtils;
classe publique helloworld
public static void main(String[] args)
Salutations de chaîne = "Hello World!";
Système.en dehors.println(salutations);
Système.en dehors.println(StringUtils.swapCase(salutations));

Et dans la construction.gradle, vous pouvez mettre les éléments suivants :

appliquer le plugin : 'java'
version = '1.0'
référentiels
mavenCentral()

dépendances
groupe de compilation : 'org.apache.commons', nom : 'commons-lang3', version : '3.7'

pot
à partir de configurations.compiler.collecter zipTree it

Discutons de ce qui se passe dans le script de construction ci-dessus. Il dit à Gradle de rechercher dans le référentiel Maven la version 3 de commons-lang3.7. Il indique également à Gradle d'empaqueter les dépendances dans le fichier jar. Si vous supprimez le des configurations.compiler.collectez la ligne zipTree it, vous devrez alors inclure les dépendances externes dans le chemin de classe lorsque vous exécutez le programme.

Maintenant, à partir du dossier racine, vous pouvez exécuter la construction avec la commande

$ pot gradle
Vous devriez voir des résultats comme celui-ci :
$ pot gradle
Télécharger https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.7/
communs-lang3-3.7.pompon
Télécharger https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/42/
communs-parent-42.pompon
Télécharger https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.7/
communs-lang3-3.7.pot
CONSTRUISEZ AVEC SUCCÈS en 6s
2 tâches exploitables : 1 exécutée, 1 à jour

Vous pouvez exécuter la compilation comme ceci :

$ java -cp build/libs/helloworld-1.0.pot  helloworld
Bonjour le monde!
Bonjour le monde!

Si vous n'aviez pas inclus les dépendances dans votre build, les classes StringUtils n'auraient pas été incluses dans votre helloworld-1.0.fichier jar. Et vous auriez eu une erreur comme celle-ci :

$ java -cp build/libs/helloworld-1.0.pot helloworld
Bonjour le monde!
Exception dans le thread "principal" java.langue.NoClassDefFoundError : org/apache/commons/lang3/
StringUtils sur helloworld.main(helloworld.Java : 11)
Causé par : java.langue.ClassNotFoundException : org.apache.Chambre des communes.lang3.StringUtils
à java.rapporter.URLClassLoader.findClass(URLClassLoader.java:381)
à java.langue.Chargeur de classe.loadClass(ClassLoader.java:424)
au soleil.divers.Launcher$AppClassLoader.loadClass(Lanceur.java:331)
à java.langue.Chargeur de classe.loadClass(ClassLoader.java:357)
… 1 de plus

Gradle vous permet de regrouper facilement vos dépendances dans votre package.

Conclusion

L'utilisation des référentiels Gradle et des fonctionnalités de dépendances peut simplifier votre processus de gestion des dépendances. Vous n'avez pas besoin de tout suivre manuellement.

Une étude plus approfondie:

Gestion des dépendances Gradle pour les projets Java

WinMouse vous permet de personnaliser et d'améliorer le mouvement du pointeur de la souris sur un PC Windows
Si vous souhaitez améliorer les fonctions par défaut de votre pointeur de souris, utilisez un logiciel gratuit WinMouse. Il ajoute plus de fonctionnal...
Le bouton de clic gauche de la souris ne fonctionne pas sous Windows 10
Si vous utilisez une souris dédiée avec votre ordinateur portable ou de bureau mais que le le clic gauche de la souris ne fonctionne pas sur Windows 1...
Le curseur saute ou se déplace de manière aléatoire lors de la saisie dans Windows 10
Si vous constatez que le curseur de votre souris saute ou se déplace tout seul, automatiquement, au hasard lors de la saisie sur un ordinateur portabl...