gradlew Befehl nicht gefunden?


115

Ich arbeite an einem Java-Projekt mit gradlew. Ich benutze Ubuntu Linux als mein Betriebssystem. Wenn ich "gradle" starte, läuft es und gibt mir Infos. Aber wenn ich "gradlew" ausführe, wird "Kein Befehl 'gradlew' gefunden, meinten Sie: Befehl 'gradle' aus Paket 'gradle' (Universum) gradlew: Befehl nicht gefunden"

Ich habe meine Nachforschungen angestellt, ich habe jdk und ich habe sudo apt-get install gradle gemacht. Ich bin völlig ahnungslos


49
Ausführen ./gradlew. Es befindet sich nicht auf Ihrem Pfad, sondern ist eine ausführbare Datei, die sich im Stammverzeichnis des Projekts befindet, das Sie auschecken.
mkobit

2
Lesen Sie die Dokumentation zum Gradle-Wrapper docs.gradle.org/current/userguide/gradle_wrapper.html .
Ditkin

Antworten:


99

Gradle Wrapper muss gebaut werden. Versuchen Sie es. gradle wrapper --gradle-version 2.13Denken Sie daran, 2.13 in Ihre Gradle-Versionsnummer zu ändern. Nach dem Ausführen dieses Befehls sollten neue Skripts zu Ihrem Projektordner hinzugefügt werden. Sie sollten in der Lage sein, den Wrapper mit auszuführen ./gradlew build, um Ihren Code zu erstellen. Weitere Informationen finden Sie in dieser Anleitung unter https://spring.io/guides/gs/gradle/ .


170

Linux / MacOS

Wie in den Kommentaren erwähnt, läuft gerade

./gradlew

arbeitete für mich. Durch das Hinzufügen von ./weist es an, im aktuellen Verzeichnis zu suchen, da es nicht im Pfad enthalten ist.

Windows PowerShell

.\gradlew

24
Versuchen Sie zuerst "chmod + x gradlew" und dann "./gradlew", wenn es nicht funktioniert
Fadi

50

Das Ausführen dieses Bash-Befehls funktioniert bei mir, indem chmod 755 gradlewmanchmal die Dateieigenschaften beim Wechsel von einem Betriebssystem auf ein anderes (Windows, Linux und Mac) geändert werden.


14
Sicher 755? Sie möchten nicht, dass nur jemand eine vertrauenswürdige ausführbare Datei überschreibt.
David Knipe

7
chmod 777 ... klassisch.
vilpe89

1
Bitte empfehlen Sie 'chmod 777' nicht. Ausführbare Dateien sollten niemals weltweit beschreibbar sein.
Kelly Setzer

19

Das gleiche Problem tritt bei mir auf ... Ich überprüfe die Berechtigungen für die Datei wrx mit:
$ls -l ./gradlew-> -rw-rw-r-- (keine Ausführungsberechtigung)

Also benutze ich Befehl $chmod +x ./gradlewund dieses Problem gelöst.


15

Von Mac,

Nichts funktioniert außer dem folgenden Befehl

chmod 777 gradlew Dann

./gradlew


gradlew benötigt die erlaubnis unter linux / mac und arbeitet für mich nach chmod 777 gradlew im root meines projekts.
Faisal

1
'chmod 777' macht gradlew world beschreibbar. Dies ist ein großes Sicherheitsproblem. Verwenden Sie stattdessen 'chmod 555'.
Kelly Setzer

Ich würde chmod 755 (-rwxr-xr-x) empfehlen. über 777
notStan

14

Wenn Sie einen Mac verwenden, versuchen Sie, Root-Zugriff auf gradlew zu gewähren, indem Sie dies tun

chmod +x ./gradlew

10

Darüber hinaus ist @suraghch

Linux / MacOS ./gradlew sauber

Windows PowerShell . \ Gradlew sauber

Windows cmd gradlew sauber


5

Für Ubuntu (Linux) Benutzer: "bash ./gradlew build"funktioniert, aber" ./gradlew build"funktioniert nicht.

Für mich war das Problem, dass es sich um ein NTFS-Dateisystem handelte. Linux lässt kein Skript von NTFS ausführen. Versuchen Sie, den Code von NTFS auf eine Linux-Partition zu verschieben. dann ./gradlew buildsollte funktionieren


Funktioniert auch für RedHat 7
G_V

3

Als erstes müssen Sie die Gradle-Aufgabe ausführen, die Sie für diesen Wrapper erwähnt haben. Beispiel: gradle wrapperÜberprüfen Sie nach dem Ausführen dieses Befehls Ihr Verzeichnis auf gradlew- und gradlew.bat-Dateien. gradlew ist die Shell-Skriptdatei und kann unter Linux / Mac OS verwendet werden. gradlew.bat ist die Batchdatei für Windows OS. Dann renne,

./gradlew build(Linux / Mac). Es wird klappen.


1

Wenn die als richtig gekennzeichnete Antwort nicht funktioniert, müssen Sie sich als Superuser identifizieren.

sudo gradle wrapper --gradle-version 2.13

Es hat bei mir funktioniert.


1

Wenn Sie VS Code mit Flattern verwenden, sollten Sie ihn in Ihrem App-Ordner unter dem Android-Ordner finden:

C: \ myappFolder \ android

Sie können dies im Terminal ausführen:

./gradlew signingReport

1

Sie müssen den Gradle-Wrapper vor der Verwendung lokal verfügbar haben gradlew. Um das zu konstruieren

gradle wrapper # --gradle-version v.xy

Optional können Sie die Gradle-Version explizit übergeben. Dieser Schritt erzeugt die Gradlew-Binärdatei. Und dann sollten Sie dazu in der Lage sein

./gradlew build

0

Ich benutze Intellj Idea und in Windows im Terminaltyp: gradlew.bat run Es funktioniert für mich.


1
Windows ist anders . Aus irgendeinem Grund werden ausführbare Dateien immer so aufgelöst, .als ob sie sich im Pfad befinden, auch wenn sie sich eindeutig nicht im Pfad befinden.
Guss

0

Hallo @ Hayden Stites, ich hatte das gleiche Problem, aber nach einigen Versuchen stellte ich fest, dass es passierte, weil ich versuchte, eine eingebaute Git-Bash anstelle von CMD mit Administratorzugriff zu erstellen. Wenn Sie einen Build mit der Eingabeaufforderung erstellen, wird die Ausführung als Administrator-Build erstellt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.