gradle
Gradle Wrapper
Sök…
Gradle Wrapper and Git
Som diskuterats i inledningen fungerar gradle wrapper-funktionaliteten eftersom en burk laddas ner till projektet som ska användas när gradlew
kommandot körs. Men detta kanske inte blir engagerat och efter nästa gång projektet är utcheckat kommer gradlew
inte att köra med felet:
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Detta beror på att din .gitignore sannolikt kommer att inkludera *jar
för Java-projekt. När lindningsomslaget initialiserades kopierar det till gradle/wrapper/gradle-wrapper.jar
. Således måste du lägga till det i git-indexet och begå det. Gör så med:
git add -f gradle/wrapper/gradle-wrapper.jar
git ci
Med -f
att tvinga det.
Introduktion av Gradle Wrapper
Gradle har förmågan att lägga till ett omslag till projekt. Detta omslag lindrar behovet av att alla användare eller kontinuerliga integrationssystem har Gradle installerat. Det förhindrar också versionproblem där det finns viss inkompatibilitet mellan den version som projektet använder och den som användarna har installerat. Det gör detta genom att installera en version av gradle lokalt i projektet.
Användare av projektet kör helt enkelt:
> ./gradlew <task> # on *Nix or MacOSX
> gradlew <task> # on Windows
För att konfigurera ett projekt för att använda en omslag, utvecklare:
- Kör:
gradle wrapper [--gradle-version 2.0]
Där - --gradle-version X
är valfri och om den inte tillhandahålls (eller omslaget inte ingår, som visas nedan), är den version som används versionen av graden som används.
- För att tvinga projektet att använda en specifik version lägger du till följande i
build.gradle
:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}
När gradle wrapper
körs skapar det filerna:
the_project/
gradlew
gradlew.bat
gradle/wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
Den officiella dokumentationen för den här funktionen finns på https://docs.gradle.org/current/userguide/gradle_wrapper.html .
Använd lokalt betjänad Gradle i Gradle Wrapper
Om du vill behålla en lokal kopia av Gradle och låta Wrapper använda den i builds, kan du ställa distributionUrl
Url som pekar på din kopia på wrapper
uppgiften:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
distributionUrl = "http\://server/dadada/gradle-${gradleVersion}-bin.zip"
}
efter att ha genomfört gradle wrapper
skal-script- gradlew
och gradle/wrapper/gradle-wrapper.properties
konfigureras för att använda den angivna URL-adressen för att ladda ner Gradle.
Använda Gradle Wrapper bakom en proxy
Första gången en användare kör projektets gradlew
, bör man inse att den kommer att göra två viktiga saker:
- Kontrollera om versionen av graden som används av omslaget redan finns i ~ / .gradle / wrapper / dists
- Om inte, ladda ner arkivet för versionen från internet
Om du befinner dig i en miljö som kräver all extern trafik för att gå igenom en proxy kommer steg två att misslyckas (såvida det inte är en transparent proxy-miljö). Som ett resultat måste du se till att JVM- proxyparametrarna är inställda.
Om du till exempel har en grundläggande proxyinställning utan autentisering ställer du bara in miljövariabeln JAVA_OPTS
eller GRADLE_OPTS
med:
-Dhttps.proxyPort=<proxy_port> -Dhttps.proxyHost=<hostname>
Så ett färdigt exempel på windows skulle vara:
set JAVA_OPTS=-Dhttps.proxyPort=8080 -Dhttps.proxyHost=myproxy.mycompany.com
Om din miljö emellertid också kräver autentisering, vill du också granska dina andra alternativ på https://docs.oracle.com/javase/8/docs/api/java/net/doc-files/net-properties. html .
OBS: Den här proxykonfigurationen kompletterar alla proxykonfigurationer för ditt åtkomstberoende.