Gradle - Abhängigkeitsmanagement

Das Gradle-Erstellungsskript definiert einen Prozess zum Erstellen von Projekten. Jedes Projekt enthält einige Abhängigkeiten und einige Veröffentlichungen. Abhängigkeiten sind die Dinge, die das Erstellen Ihres Projekts unterstützen, z. B. die erforderliche JAR-Datei aus anderen Projekten und externe JARs wie JDBC-JAR oder Eh-Cache-JAR im Klassenpfad. Veröffentlichungen sind die Ergebnisse des Projekts, z. B. Testklassendateien und Builddateien, z. B. Kriegsdateien.

Alle fast alle Projekte sind nicht in sich geschlossen. Sie benötigen Dateien, die von anderen Projekten erstellt wurden, um die Quelldateien zu kompilieren und zu testen. Um beispielsweise den Ruhezustand im Projekt verwenden zu können, müssen Sie einige Ruhezustand-JARs in den Klassenpfad aufnehmen. Gradle verwendet ein spezielles Skript, um die Abhängigkeiten zu definieren, die heruntergeladen werden müssen.

Gradle kümmert sich darum, die Ergebnisse irgendwo zu erstellen und zu veröffentlichen. Das Veröffentlichen basiert auf der von Ihnen definierten Aufgabe. Möglicherweise möchten Sie die Dateien in ein lokales Verzeichnis kopieren oder in ein entferntes Maven- oder Lvy-Repository hochladen, oder Sie verwenden die Dateien aus einem anderen Projekt im selben Multiprojekt-Build. Wir können den Prozess der Veröffentlichung einer Aufgabe als Veröffentlichung bezeichnen.

Ihre Abhängigkeiten erklären

Die Abhängigkeitskonfiguration ist nichts anderes als die Definition einer Reihe von Abhängigkeiten. Mit dieser Funktion können Sie externe Abhängigkeiten deklarieren, die Sie aus dem Web herunterladen möchten. Dies definiert verschiedene Steher wie folgt.

apply plugin: 'java'

repositories {
   mavenCentral()
}

dependencies {
   compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
   testCompile group: 'junit', name: 'junit', version: '4.+'
}

Abhängigkeitskonfigurationen

Die Abhängigkeitskonfiguration ist nichts anderes als die Definition einer Reihe von Abhängigkeiten. Mit dieser Funktion können Sie externe Abhängigkeiten deklarieren, die Sie aus dem Internet herunterladen möchten. Dies definiert die folgenden verschiedenen Standardkonfigurationen.

  • Compile - Die Abhängigkeiten, die zum Kompilieren der Produktionsquelle des Projekts erforderlich sind.

  • Runtime- Die Abhängigkeiten, die die Produktionsklassen zur Laufzeit benötigen. Enthält standardmäßig auch die Abhängigkeiten zur Kompilierungszeit.

  • Test Compile- Die zum Kompilieren der Testquelle des Projekts erforderlichen Abhängigkeiten. Standardmäßig enthält es kompilierte Produktionsklassen und die Abhängigkeiten zur Kompilierungszeit.

  • Test Runtime- Die zum Ausführen der Tests erforderlichen Abhängigkeiten. Standardmäßig enthält es Laufzeit- und Testkompilierungsabhängigkeiten.

Externe Abhängigkeiten

Externe Abhängigkeiten gehören zu den Abhängigkeiten. Dies ist eine Abhängigkeit von einigen Dateien, die außerhalb des aktuellen Builds erstellt und in einem Repository wie Maven Central oder einem Unternehmens-Maven- oder Lvy-Repository oder einem Verzeichnis des lokalen Dateisystems gespeichert wurden.

Das folgende Codeausschnitt dient zum Definieren der externen Abhängigkeit. Verwenden Sie diesen Code inbuild.gradle Datei.

dependencies {
   compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}

Eine externe Abhängigkeit deklariert externe Abhängigkeiten und das Verknüpfungsformular sieht wie folgt aus: "Gruppe: Name: Version".

Repositories

Beim Hinzufügen externer Abhängigkeiten. Gradle sucht sie in einem Repository. Ein Repository ist nur eine Sammlung von Dateien, die nach Gruppe, Name und Version geordnet sind. Standardmäßig definiert Gradle keine Repositorys. Wir müssen mindestens ein Repository explizit definieren. Das folgende Codefragment definiert, wie das Maven-Repository definiert wird. Verwenden Sie diesen Code inbuild.gradle Datei.

repositories {
   mavenCentral()
}

Der folgende Code definiert Remote Maven. Verwenden Sie diesen Code inbuild.gradle Datei.

repositories {
   maven {
      url "http://repo.mycompany.com/maven2"
   }
}

Artefakte veröffentlichen

Abhängigkeitskonfigurationen werden auch zum Veröffentlichen von Dateien verwendet. Diese veröffentlichten Dateien werden als Artefakte bezeichnet. Normalerweise verwenden wir Plug-Ins, um Artefakte zu definieren. Sie müssen Gradle jedoch mitteilen, wo die Artefakte veröffentlicht werden sollen. Sie können dies erreichen, indem Sie Repositorys an die Aufgabe zum Hochladen von Archiven anhängen. Sehen Sie sich die folgende Syntax zum Veröffentlichen des Maven-Repositorys an. Während der Ausführung generiert Gradle eine Pom.xml gemäß den Projektanforderungen und lädt sie hoch. Verwenden Sie diesen Code inbuild.gradle Datei.

apply plugin: 'maven'

uploadArchives {
   repositories {
      mavenDeployer {
         repository(url: "file://localhost/tmp/myRepo/")
      }
   }
}