Il wrapper Gradle è mancante, rotto o danneggiato.
Che cos'è Gradle Wrapper:
gradlew
è l'eseguibile Gradle Wrapper: script batch su Windows e shell shell altrove. Lo script wrapper quando viene richiamato, scarica la versione gradle definita ed esegue. Distribuendo il wrapper con il tuo progetto, chiunque può lavorarci senza bisogno di installare Gradle in anticipo. Ancora meglio, agli utenti della build è garantito l'uso della versione di Gradle con cui la build è stata progettata per funzionare.
Ripristino del wrapper gradle: in
passato era necessario aggiungere wrapper
un'attività a build.gradle per ripristinare il wrapper gradle e tutte le sue dipendenze. Per esempio:
task wrapper(type: Wrapper) {
gradleVersion = '4.1'
}
Le versioni più recenti di Gradle non richiedono questo. Ora è un'attività integrata. Corri:
gradle wrapper
È inoltre possibile fornire flag aggiuntivi per specificare versioni ecc
gradle wrapper --gradle-version 6.2 --distribution-type all
Quando si esegue questa attività, uno script wrapper gradle e i file jar richiesti vengono aggiunti alle cartelle di origine. Le proprietà sono memorizzate in gradle / wrapper / gradle-wrapper.properties
(Potrebbe essere necessario installare Gradle localmente per eseguire questo. brew install gradle
Su mac per esempio. Vedi le istruzioni più dettagliate qui )
Perché mancava in primo luogo?
OP sembra aver cancellato qualcosa da cui dipende il gradle wrapper.
Ma una ragione comune è che una voce .gitignore impedisce che i vasi wrapper vengano controllati in git. Si noti che il .gitignore in effetti potrebbe essere nella cartella di origine, o globale nella cartella home dell'utente o nella configurazione globale di git. È comune avere una *.jar
voce in .gitignore.
È possibile aggiungere un'eccezione per i file jar di gradlew in .gitignore
*.jar
!gradle/wrapper/gradle-wrapper.jar
o forzare aggiungere il vasetto dell'involucro in git
git add -f gradle/wrapper/gradle-wrapper.jar
Rif: Gradle Wrapper
gradle wrapper
nuovamente per rigenerare il codice mancante ... questo presuppone che tu non abbia alcuna configurazione di controllo del codice sorgente.