Java

Gradle-Repositorys

Gradle-Repositorys
Gradle sucht nach externen Abhängigkeiten in den Repositorys. Ein Gradle-Repository ist nach Gruppe, Name und Version organisiert. Gradle ist kompatibel mit verschiedenen Repository-Formaten wie Maven und Ivy.

Verständnis des Abhängigkeitsmanagements in Gradle

Repositorys werden in Gradle für das Abhängigkeitsmanagement verwendet. Gradle-Abhängigkeiten bestehen aus zwei Komponenten: Abhängigkeiten und Veröffentlichungen des Projekts.

Wenn Sie ein Projekt auf Gradle erstellen, benötigen Sie wahrscheinlich Bibliotheken von anderen Entwicklern. Angenommen, Sie benötigen die Apache Commons Lang-Bibliothek für spezielle String-Manipulationen. Sie benötigen es also in Ihrem Klassenpfad, damit Ihr Code funktioniert. Und Apache Commons Lang benötigt möglicherweise zusätzliche Bibliotheken, die Ihnen nicht bekannt sind. Gradle ermöglicht es Ihnen, die jeweilige Abhängigkeit zu bestimmen, die Ihr Projekt benötigt, und es wird in das angegebene Repository wie Maven oder Ivy gehen und alle zugehörigen Abhängigkeiten ermitteln und die Dateien herunterladen und automatisch für Sie einrichten.

Gradle hat auch die Möglichkeit, Ihre Artefakte zu veröffentlichen. Sie können entscheiden, was eine Veröffentlichung für Ihren speziellen Fall bedeutet. Sie können es lokal veröffentlichen oder in einem Maven- oder Ivy-Repository veröffentlichen.

Beispiel für ein Gradle-Repository

Angenommen, wir möchten die StringUtils-Klasse aus der Apache Commons Lang-Bibliothek verwenden. Lassen Sie uns einen Regisseur wie diesen einrichten:

Hallo Welt
|-- bauen.gradle
'-- src
|-- Hauptsache
'--java
'-- Hallo Welt
'-- Hallo Welt.Java

In der halloworld.java können Sie folgenden Code eingeben:

Importorganisation.Apache.Gemeingüter.lang3.StringUtils;
öffentliche Klasse halloworld
public static void main(String[] args)
String Greetings = "Hallo Welt!";
System.aus.println(Grüße);
System.aus.println(StringUtils.swapCase (Grüße));

Und im Build.gradle-Datei können Sie Folgendes einfügen:

Plugin anwenden: 'java'
Version = '1.0'
Repositorys
mavenCentral()

Abhängigkeiten
Gruppe kompilieren: 'org.Apache.commons', Name: 'commons-lang3', Version: '3.7'

Krug
aus Konfigurationen.kompilieren.sammle zipTree it

Lassen Sie uns besprechen, was im obigen Build-Skript passiert. Es weist Gradle an, im Maven-Repository nach der Commons-lang3-Version 3 zu suchen.7. Es weist Gradle auch an, die Abhängigkeiten in die JAR-Datei zu packen. Wenn Sie das aus Konfigurationen entfernen.kompilieren.Collect zipTree it-Zeile, dann müssen Sie die externen Abhängigkeiten in den Klassenpfad aufnehmen, wenn Sie das Programm ausführen run.

Jetzt können Sie den Build aus dem Stammordner mit dem Befehl ausführen

$ Gradle-Glas
Sie sollten Ergebnisse wie diese sehen:
$ Gradle-Glas
https://repo . herunterladen.Maven.Apache.org/maven2/org/apache/commons/commons-lang3/3.7/
commons-lang3-3.7.pom
https://repo . herunterladen.Maven.Apache.org/maven2/org/apache/commons/commons-parent/42/
Commons-Elternteil-42.pom
https://repo . herunterladen.Maven.Apache.org/maven2/org/apache/commons/commons-lang3/3.7/
commons-lang3-3.7.Krug
ERFOLGREICH AUFBAUEN in 6s
2 umsetzbare Aufgaben: 1 ausgeführt, 1 aktuell

Sie können den Build wie folgt ausführen:

$ java -cp build/libs/helloworld-1.0.glas helloworld
Hallo Welt!
Hallo Welt!

Wenn Sie die Abhängigkeiten nicht in Ihren Build aufgenommen hätten, wären die StringUtils-Klassen nicht in Ihrem helloworld-1 enthalten gewesen.0.jar-Datei. Und Sie hätten einen Fehler wie diesen erhalten:

$ java -cp build/libs/helloworld-1.0.glas halloworld
Hallo Welt!
Ausnahme im Thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/
StringUtils bei helloworld.main(halloworld.java:11)
Verursacht durch: Java.lang.ClassNotFoundException: org.Apache.Gemeingüter.lang3.StringUtils
bei java.Netz.URLClassLoader.findClass(URLClassLoader.java:381)
bei java.lang.ClassLoader.loadClass(ClassLoader.java:424)
bei Sonne.verschiedenes.Launcher$AppClassLoader.loadClass(Launcher.java:331)
bei java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 1 mehr

Gradle macht es Ihnen leicht, Ihre Abhängigkeiten in Ihr Paket zu packen.

Fazit

Die Verwendung von Gradle-Repositorys und Abhängigkeitsfunktionen kann Ihren Abhängigkeitsverwaltungsprozess vereinfachen. Sie müssen nicht alles manuell im Auge behalten.

Weitere Studie:

Gradle-Abhängigkeitsmanagement für Java-Projekte

Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...
So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...