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:

  1. 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.

  1. 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:

  1. Kontrollera om versionen av graden som används av omslaget redan finns i ~ / .gradle / wrapper / dists
  2. 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.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow