Cách chạy Gradle từ dòng lệnh trên Mac bash


97

Tôi có một câu hỏi rất đơn giản. Tôi là người mới sử dụng Mac và tôi đang cố gắng chuyển dự án Java của mình sang máy Mac mới. Dự án có một tệp Gradlew mà tôi nghĩ rằng tôi có thể chạy từ dòng lệnh để xây dựng và chạy trên bất kỳ máy nào. Khi tôi thực hiện gradlew từ dòng lệnh (ở vị trí của tệp gradlew), nó cho biết không tìm thấy gradlew. Tôi có thiếu điều gì đó về cách chạy lệnh từ bash shell không?

Câu trả lời:


199

./gradlew

Thư mục của bạn với gradlew không được bao gồm trong PATH, vì vậy bạn phải chỉ định đường dẫn đến gradlew. .có nghĩa là "thư mục hiện tại".


65
Ngoài ra, nếu bạn nhận được "./gradlew: Quyền bị từ chối" bằng Mac Terminal thì chmod 755 gradlewtrước tiên bạn cần chạy .
David Douglas

7
gradlew có thể được tìm thấy trong thư mục gốc của dự án. đã thêm bình luận này vì tôi không thể tìm ra!
Lou Morda

70

Ngoài ra, nếu bạn không có tệp gradlew trong thư mục hiện tại của mình:

Bạn có thể cài đặt gradle bằng homebrew bằng lệnh sau:

$ brew install gradle

Như đã đề cập trong câu trả lời này . Sau đó, bạn sẽ không cần phải đưa nó vào đường dẫn của mình (homebrew sẽ xử lý việc đó) và bạn chỉ có thể chạy (từ bất kỳ thư mục nào):

$ gradle test 

4
Xin thứ lỗi cho sự cố tình của tôi ở đây, nhưng OP gradlewkhông muốn - gradletôi có thiếu điều gì đó về mối quan hệ giữa hai người không?
MarkHu

8
gradlew là một trình bao bọc gradle được tạo cho một dự án. Trình bao bọc làm cho dự án khép kín và không phụ thuộc vào phiên bản Gradle đã cài đặt hệ điều hành. Tài liệu về trình bao bọc Gradle được tìm thấy tại đây: docs.gradle.org/current/userguide/gradle_wrapper.html
Chris Khoo

vì vậy nếu tôi cần sử dụng gradlew chỉ cần gõ gradle và nó được?
Qube

Tôi sẽ sử dụng gradlewnếu nó tồn tại trên đường dẫn hiện tại vì nó là phiên bản phù hợp với một dự án và một bản phân phối cụ thể. Sử dụng gradlenếu gradlewkhông tìm thấy tệp.
Evin1_
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.