gradle
Gradle Wrapper
Suche…
Gradle Wrapper und Git
Wie in der Einführung beschrieben, funktioniert die Gradle-Wrapper-Funktion, weil in das Projekt eine JAR- gradlew
wird, die beim gradlew
Befehls gradlew
wird. Dies kann jedoch nicht festgeschrieben werden. Nachdem das Projekt das nächste Mal gradlew
wird gradlew
nicht mit dem Fehler ausgeführt:
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Dies liegt daran, dass Ihre .gitignore *jar
-Datei wahrscheinlich für Java-Projekte enthalten wird. Wenn der Gradle-Wrapper initialisiert wurde, wird er in die Datei gradle/wrapper/gradle-wrapper.jar
. Daher müssen Sie es dem Git-Index hinzufügen und es festschreiben. Tun Sie dies mit:
git add -f gradle/wrapper/gradle-wrapper.jar
git ci
Mit dem -f
zu zwingen.
Gradle Wrapper Einführung
Gradle kann Projekten einen Wrapper hinzufügen. Mit diesem Wrapper wird die Installation von Gradle für alle Benutzer oder Systeme mit kontinuierlicher Integration vermieden. Außerdem werden Versionsprobleme vermieden, bei denen eine Inkompatibilität zwischen der vom Projekt verwendeten Version und der von den Benutzern installierten Version besteht. Dazu wird eine Version von Gradle lokal im Projekt installiert.
Benutzer des Projekts werden einfach ausgeführt:
> ./gradlew <task> # on *Nix or MacOSX
> gradlew <task> # on Windows
So richten Sie ein Projekt für die Verwendung eines Wrappers ein:
- Ausführen:
gradle wrapper [--gradle-version 2.0]
Wenn --gradle-version X
optional ist und wenn nicht angegeben (oder die Wrapper-Task nicht enthalten ist, wie unten gezeigt), ist die verwendete Version die Version von Gradle.
- Um zu erzwingen, dass das Projekt eine bestimmte Version verwendet, fügen Sie dem
build.gradle
Folgendesbuild.gradle
:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}
Wenn der Befehl gradle wrapper
ausgeführt wird, werden die Dateien erstellt:
the_project/
gradlew
gradlew.bat
gradle/wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
Die offizielle Dokumentation zu dieser Funktion finden Sie unter https://docs.gradle.org/current/userguide/gradle_wrapper.html .
Verwenden Sie im Gradle-Wrapper lokal servierte Gradle
Wenn Sie eine lokale Kopie des Gradle behalten und den Wrapper in den Builds verwenden lassen möchten, können Sie die distributionUrl
für Ihre Kopie in der wrapper
Task wrapper
:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
distributionUrl = "http\://server/dadada/gradle-${gradleVersion}-bin.zip"
}
Nach dem Ausführen des gradle wrapper
wird das Shell-Skript gradlew
erstellt, und gradle/wrapper/gradle-wrapper.properties
ist so konfiguriert, dass die bereitgestellte URL zum Herunterladen des Gradle verwendet wird.
Verwenden des Gradle-Wrappers hinter einem Proxy
gradlew
ein Benutzer zum ersten Mal die gradlew
eines Projekts gradlew
, sollte klar sein, dass er zwei wichtige Dinge tun wird:
- Prüfen Sie, ob die Version des von dem Wrapper verwendeten Gradels bereits in ~ / .gradle / wrapper / dists enthalten ist
- Wenn nicht, laden Sie das Archiv der Version aus dem Internet herunter
Wenn Sie sich in einer Umgebung befinden, in der der gesamte externe Datenverkehr einen Proxy durchläuft, schlägt der zweite Schritt fehl (es sei denn, es handelt sich um eine transparente Proxy-Umgebung). Aus diesem Grund müssen Sie sicherstellen, dass die JVM- Proxy-Parameter festgelegt sind.
Wenn Sie beispielsweise über ein einfaches Proxy-Setup ohne Authentifizierung verfügen, setzen Sie einfach die Umgebungsvariable JAVA_OPTS
oder GRADLE_OPTS
mit:
-Dhttps.proxyPort=<proxy_port> -Dhttps.proxyHost=<hostname>
Ein abgeschlossenes Beispiel für Windows wäre also:
set JAVA_OPTS=-Dhttps.proxyPort=8080 -Dhttps.proxyHost=myproxy.mycompany.com
Wenn Ihre Umgebung jedoch auch eine Authentifizierung erfordert, sollten Sie auch Ihre anderen Optionen unter https://docs.oracle.com/javase/8/docs/api/java/net/doc-files/net-properties überprüfen . html .
ANMERKUNG: Diese Proxy-Konfiguration wird zusätzlich zu einer beliebigen Proxy-Konfiguration für den Zugriff auf Ihr Repository für Abhängigkeiten verwendet.