gradle
Gradle Wrapper
Zoeken…
Gradle Wrapper en Git
Zoals in de inleiding besproken, werkt de gradle wrapper-functionaliteit omdat een pot wordt gedownload naar het project om te worden gebruikt wanneer de gradlew
opdracht wordt uitgevoerd. Dit kan echter niet worden gradlew
en na de volgende keer dat het project wordt uitgecheckt, kan gradlew
niet worden uitgevoerd met de fout:
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Dit komt omdat uw .gitignore waarschijnlijk *jar
voor Java-projecten. Toen de gradle wrapper werd geïnitialiseerd, wordt deze naar het bestand gradle/wrapper/gradle-wrapper.jar
. Je moet het dus toevoegen aan de git-index en het vastleggen. Doe dit met:
git add -f gradle/wrapper/gradle-wrapper.jar
git ci
Met het -f
zijn om het te forceren.
Gradle Wrapper introductie
Gradle heeft de mogelijkheid om een wrapper toe te voegen aan projecten. Deze wrapper vermindert de noodzaak voor alle gebruikers of systemen voor continue integratie om Gradle te installeren. Het voorkomt ook versieproblemen waarbij er enige incompatibiliteit is tussen de versie die het project gebruikt en die welke gebruikers hebben geïnstalleerd. Het doet dit door lokaal een versie van gradle in het project te installeren.
Gebruikers van het project voeren eenvoudig uit:
> ./gradlew <task> # on *Nix or MacOSX
> gradlew <task> # on Windows
Om een project in te stellen om een wrapper te gebruiken, ontwikkelaars:
- uitvoeren:
gradle wrapper [--gradle-version 2.0]
Waar --gradle-version X
optioneel is en indien niet verstrekt (of de wrapper-taak is niet inbegrepen, zoals hieronder getoond), is de gebruikte versie de versie van gradle die wordt gebruikt.
- Om het project te dwingen een specifieke versie te gebruiken, voegt u het volgende toe aan de
build.gradle
:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}
Wanneer de opdracht gradle wrapper
wordt uitgevoerd, worden de bestanden gemaakt:
the_project/
gradlew
gradlew.bat
gradle/wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
De officiële documentatie over deze functie is te vinden op https://docs.gradle.org/current/userguide/gradle_wrapper.html .
Gebruik lokaal aangeboden Gradle in de Gradle Wrapper
Als u een lokale kopie van de Gradle wilt behouden en de Wrapper deze in de builds wilt laten gebruiken, kunt u de distributionUrl
die naar uw kopie verwijst in de wrapper
taak:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
distributionUrl = "http\://server/dadada/gradle-${gradleVersion}-bin.zip"
}
na het uitvoeren van gradle wrapper
, wordt het shellscript gradlew
gemaakt en wordt de gradle/wrapper/gradle-wrapper.properties
geconfigureerd om de opgegeven URL te gebruiken om de gradle/wrapper/gradle-wrapper.properties
te downloaden.
De Gradle Wrapper gebruiken achter een proxy
De eerste keer dat een gebruiker de gradlew
een project gradlew
, moet men zich realiseren dat het twee belangrijke dingen zal doen:
- Controleer of de versie van het verloop dat door de wrapper wordt gebruikt al in ~ / .gradle / wrapper / dists staat
- Zo niet, download dan het archief van de versie van internet
Als u zich in een omgeving bevindt die vereist dat al het externe verkeer door een proxy gaat, zal stap twee mislukken (tenzij het een transparante proxyomgeving is). Daarom moet u ervoor zorgen dat u de JVM- proxyparameters hebt ingesteld.
Als u bijvoorbeeld een standaard proxy-instelling zonder verificatie hebt, stelt u eenvoudig de omgevingsvariabele JAVA_OPTS
of GRADLE_OPTS
met:
-Dhttps.proxyPort=<proxy_port> -Dhttps.proxyHost=<hostname>
Dus een voltooid voorbeeld op Windows zou zijn:
set JAVA_OPTS=-Dhttps.proxyPort=8080 -Dhttps.proxyHost=myproxy.mycompany.com
Als uw omgeving echter ook authenticatie vereist, wilt u ook uw andere opties bekijken op https://docs.oracle.com/javase/8/docs/api/java/net/doc-files/net-properties. html .
OPMERKING: deze proxyconfiguratie is een aanvulling op elke proxyconfiguratie voor uw toegang tot de afhankelijkheidsrepository.