Szukaj…


Gradle Wrapper and Git

Jak omówiono we wstępie, funkcjonalność opakowania stopniowego działa, ponieważ słoik jest pobierany do projektu, aby można go było użyć po gradlew polecenia gradlew . Jednak może się to nie powieść i po następnym sprawdzeniu projektu gradlew nie uruchomi się z błędem:

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

Stanie się tak, ponieważ Twój .gitignore prawdopodobnie będzie zawierać *jar dla projektów Java. Po zainicjowaniu opakowania stopniowego kopiowane jest ono do pliku gradle/wrapper/gradle-wrapper.jar . Dlatego musisz dodać go do indeksu git i zatwierdzić. Zrób to z:

git add -f gradle/wrapper/gradle-wrapper.jar
git ci

Z -f by to zmusić.

Wprowadzenie do Gradle Wrapper

Gradle ma możliwość dodawania opakowania do projektów. To opakowanie eliminuje potrzebę instalowania Gradle przez wszystkich użytkowników lub systemy ciągłej integracji. Zapobiega również problemom z wersjami, w których istnieje pewna niezgodność między wersją używaną przez projekt a wersją zainstalowaną przez użytkowników. Robi to, instalując lokalnie wersję gradle w projekcie.

Użytkownicy projektu po prostu uruchamiają:

> ./gradlew <task> # on *Nix or MacOSX
> gradlew <task>   # on Windows

Aby skonfigurować projekt do używania opakowania, programiści:

  1. Wykonać:
gradle wrapper [--gradle-version 2.0]

W przypadku gdy --gradle-version X jest opcjonalna i jeśli nie jest podana (lub zadanie otoki nie jest uwzględnione, jak pokazano poniżej), używana wersja jest wersją używaną gradle.

  1. Aby zmusić projekt do użycia określonej wersji, dodaj następujące polecenie do build.gradle :
task wrapper(type: Wrapper) {
    gradleVersion = '2.0'
}

Po gradle wrapper polecenia gradle wrapper tworzy pliki:

the_project/
  gradlew
  gradlew.bat
  gradle/wrapper/
    gradle-wrapper.jar
    gradle-wrapper.properties

Oficjalna dokumentacja tej funkcji znajduje się na stronie https://docs.gradle.org/current/userguide/gradle_wrapper.html .

Użyj lokalnie serwowanego Gradle w Gradle Wrapper

Jeśli chcesz zachować lokalną kopię Gradle i pozwolić Wrapperowi używać go w kompilacjach, możesz ustawić argument distributionUrl wskazujący na twoją kopię w zadaniu wrapper :

task wrapper(type: Wrapper) {
    gradleVersion = '2.0'
    distributionUrl = "http\://server/dadada/gradle-${gradleVersion}-bin.zip"
}

po wykonaniu gradle wrapper gradlew tworzony jest gradlew skryptu powłoki, a gradle/wrapper/gradle-wrapper.properties jest skonfigurowany do używania dostarczonego adresu URL do pobrania Gradle.

Używanie Gradle Wrapper za proxy

Gdy użytkownik uruchamia gradlew po raz pierwszy, należy gradlew sobie sprawę, że zrobi on dwie kluczowe rzeczy:

  1. Sprawdź, czy wersja stopnia używana przez opakowanie jest już w ~ / .gradle / wrapper / dists
  2. Jeśli nie, pobierz archiwum wersji z Internetu

Jeśli jesteś w środowisku, które wymaga całego ruchu zewnętrznego, aby przejść przez serwer proxy, krok drugi zakończy się niepowodzeniem (chyba że jest to przezroczyste środowisko serwera proxy). W rezultacie musisz upewnić się, że masz ustawione parametry proxy JVM .

Na przykład, jeśli masz podstawową konfigurację proxy bez uwierzytelnienia, po prostu ustaw zmienną środowiskową JAVA_OPTS lub GRADLE_OPTS pomocą:

-Dhttps.proxyPort=<proxy_port> -Dhttps.proxyHost=<hostname>

Tak więc kompletnym przykładem dla systemu Windows byłoby:

set JAVA_OPTS=-Dhttps.proxyPort=8080 -Dhttps.proxyHost=myproxy.mycompany.com

Jeśli jednak środowisko wymaga również uwierzytelnienia, należy również przejrzeć inne opcje na stronie https://docs.oracle.com/javase/8/docs/api/java/net/doc-files/net-properties. HTML .

UWAGA: Ta konfiguracja proxy jest uzupełnieniem dowolnej konfiguracji proxy dla dostępu do repozytorium zależności.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow