lệnh gradlew không tìm thấy?


118

Tôi đang làm việc trên một dự án Java với gradlew. Tôi sử dụng Ubuntu Linux làm hệ điều hành của mình. Khi tôi chạy "gradle", nó sẽ chạy và cung cấp cho tôi thông tin. Nhưng khi tôi chạy "gradlew", nó xuất ra là "Không tìm thấy lệnh 'gradlew', bạn có nghĩa là: Lệnh 'gradle' từ gói 'gradle' (vũ trụ) gradlew: lệnh không tìm thấy"

Tôi đã thực hiện nghiên cứu của mình, tôi có jdk, và tôi đã làm sudo apt-get install gradle. Tôi hoàn toàn không biết gì


51
Chạy đi ./gradlew. Nó không nằm trên đường dẫn của bạn nhưng là một tệp thực thi có trong thư mục gốc của dự án mà bạn kiểm tra.
mkobit

2
Đọc tài liệu về trình bao bọc gradle , docs.gradle.org/current/userguide/gradle_wrapper.html .
ditkin

Câu trả lời:


100

Trình bao bọc Gradle cần được xây dựng. Thử chạy gradle wrapper --gradle-version 2.13Hãy nhớ thay đổi 2,13 thành số phiên bản gradle của bạn. Sau khi chạy lệnh này, bạn sẽ thấy các tập lệnh mới được thêm vào thư mục dự án của mình. Bạn sẽ có thể chạy trình bao bọc ./gradlew buildđể xây dựng mã của mình. Vui lòng tham khảo hướng dẫn này để biết thêm thông tin https://spring.io/guides/gs/gradle/ .


173

Linux / MacOS

Như đã lưu ý trong các bình luận, chỉ chạy

./gradlew

đã làm cho tôi. Thêm dấu hiệu ./cho nó biết trong thư mục hiện tại vì nó không có trong đường dẫn.

Windows PowerShell

.\gradlew

26
trước tiên hãy thử "chmod + x gradlew" và sau đó "./gradlew" nếu không hoạt động
Fadi

đối với macOS catalina, "sudo bash ./gradlew" phù hợp với tôi
daniel

52

Chạy lệnh bash này phù hợp với tôi bằng cách chạy chmod 755 gradlewvì đôi khi thuộc tính tệp thay đổi khi chuyển từ hệ điều hành này sang hệ điều hành khác (Windows, Linux và Mac).


14
Chắc chắn 755? Bạn không muốn để bất kỳ ai ghi đè lên tệp tin thực thi đáng tin cậy.
David Knipe

7
chmod 777 ... cổ điển.
vilpe89,

1
Vui lòng không giới thiệu 'chmod 777'. Các tệp thực thi không bao giờ được ghi trên thế giới.
Kelly Setzer

19

vấn đề tương tự cũng xảy ra với tôi ... Tôi kiểm tra quyền của tệp wrx với:
$ls -l ./gradlew-> -rw-rw-r-- (không có quyền thực thi)

vì vậy tôi sử dụng lệnh $chmod +x ./gradlewvà vấn đề này đã được giải quyết.


15

Từ mac,

Không có gì hoạt động ngoại trừ lệnh sau

chmod 777 gradlew Sau đó

./gradlew


gradlew cần quyền trên linux / mac, làm việc cho tôi sau khi gradlew chmod 777 trong thư mục gốc của dự án của tôi.
Faisal

1
'chmod 777' làm cho thế giới gradlew có thể ghi được. Đây là một vấn đề bảo mật lớn. Sử dụng 'chmod 555' để thay thế.
Kelly Setzer

Tôi muốn giới thiệu chmod 755 (-rwxr-xr-x). trên 777
notStan

14

Nếu bạn đang sử dụng mac, hãy thử cấp quyền truy cập root cho gradlew bằng cách

chmod +x ./gradlew

10

Ngoài ra là @suraghch

Linux / MacOS ./gradlew sạch

Windows PowerShell . \ Gradlew clean

Windows cmd gradlew sạch


5

Đối với người dùng Ubuntu (linux): thực hiện "bash ./gradlew build"hoạt động nhưng" ./gradlew build"không hoạt động.

Đối với tôi, vấn đề là trên hệ thống tệp NTFS, linux không cho phép thực thi một tập lệnh từ NTFS. Hãy thử di chuyển mã từ NTFS sang một phân vùng linux. sau đó ./gradlew buildnên làm việc


Cũng hoạt động cho RedHat 7
G_V

3

Điều đầu tiên là bạn cần chạy tác vụ gradle mà bạn đã đề cập cho trình bao bọc này. Ví dụ :gradle wrapper Sau khi chạy lệnh này, hãy kiểm tra thư mục của bạn để tìm tệp gradlew và gradlew.bat. gradlew là tệp kịch bản shell và có thể được sử dụng trong Linux / Mac OS. gradlew.bat là tệp hàng loạt dành cho hệ điều hành windows. Sau đó chạy,

./gradlew build(linux / mac). Nó sẽ hoạt động.


1

Nếu câu trả lời được đánh dấu là đúng không hoạt động, đó là vì bạn cần xác định mình là một người dùng siêu việt.

sudo gradle wrapper --gradle-phiên bản 2.13

Nó đã làm việc cho tôi.


1

Nếu bạn đang sử dụng VS Code với tính năng chập chờn, bạn sẽ tìm thấy nó trong thư mục ứng dụng của mình, trong thư mục android:

C: \ myappFolder \ android

Bạn có thể chạy điều này trong thiết bị đầu cuối:

./gradlew signingReport

1

Bạn phải có sẵn trình bao bọc Gradle cục bộ trước khi sử dụng gradlew. Để xây dựng

gradle wrapper # --gradle-version v.xy

Theo tùy chọn, vượt qua phiên bản gradle một cách rõ ràng. Bước này tạo ra nhị phân gradlew Và sau đó bạn sẽ có thể

./gradlew build

0

Tôi sử dụng ý tưởng intellj và trong cửa sổ ở loại thiết bị đầu cuối: gradlew.bat run nó đang làm việc cho tôi.


1
Windows là khác . Vì một số lý do, nó luôn giải quyết các tệp thực thi .như thể nó nằm trong đường dẫn, ngay cả khi nó không nằm trong đường dẫn rất rõ ràng.
Guss

0

Xin chào @Hayden Stites Tôi gặp phải vấn đề tương tự, nhưng sau một số lần thử, tôi thấy nó đang xảy ra vì tôi đang cố gắng tạo bản dựng bằng git bash, thay vì CMD với quyền truy cập quản trị viên. Nếu bạn tạo bản dựng bằng Command prompt, hãy chạy bản dựng của quản trị viên sẽ được tạo.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.