Sự khác biệt giữa sử dụng gradlew và gradle


229

Sự khác biệt giữa việc sử dụng gradlewgradlechúng giống nhau là gì?

Câu trả lời:


225

Sự khác biệt nằm ở thực tế ./gradlewcho thấy bạn đang sử dụng trình bao bọc lớp. Trình bao bọc nói chung là một phần của dự án và nó tạo điều kiện cho việc cài đặt lớp. Nếu bạn đang sử dụng gradle mà không có trình bao bọc, bạn sẽ phải cài đặt thủ công - ví dụ, trên mac brew install gradlevà sau đó gọi gradle bằng gradlelệnh. Trong cả hai trường hợp bạn đang sử dụng gradle, nhưng trước đây thuận tiện hơn và đảm bảo tính nhất quán của phiên bản trên các máy khác nhau.

Mỗi Wrapper được gắn với một phiên bản Gradle cụ thể, vì vậy khi bạn lần đầu tiên chạy một trong các lệnh trên cho một phiên bản Gradle nhất định, nó sẽ tải xuống bản phân phối Gradle tương ứng và sử dụng nó để thực hiện quá trình xây dựng.

Điều này không chỉ có nghĩa là bạn không phải tự cài đặt Gradle mà còn chắc chắn sử dụng phiên bản Gradle mà bản dựng được thiết kế cho. Điều này làm cho các bản dựng lịch sử của bạn đáng tin cậy hơn

Đọc thêm tại đây - https://docs.gradle.org/civerse/userguide/gradle_wrapper.html

Ngoài ra, Udacity có một video gọn gàng, cao cấp giải thích khái niệm về trình bao bọc lớp - https://www.youtube.com/watch?v=1aA949H-shk


8
Có lẽ tôi đang đọc sai nhưng nghe như một lá cờ đỏ đối với tôi. Có vẻ như Gradle không tương thích ngược hoặc nó phát triển rất nhanh (và không ổn định). Điều gì xảy ra với các máy chủ CI không có quyền truy cập vào internet?
Impaler

@TheImpaler Tôi đoán bạn phải cài đặt tất cả các phiên bản bắt buộc của Gradle như Wrapper nếu nó có quyền truy cập Internet.
Ruslan

46

gradlewlà một trình bao bọc (w - ký tự) sử dụng gradle.

Dưới mui xe gradlewthực hiện ba điều chính:

  • Tải xuống và cài đặt gradlephiên bản chính xác
  • Phân tích các đối số
  • Gọi một gradlenhiệm vụ

Sử dụng Gradle Wrapper, chúng tôi có thể phân phối / chia sẻ dự án cho mọi người để sử dụng cùng một phiên bản và chức năng của Gradle (biên dịch, xây dựng, cài đặt ...) ngay cả khi nó chưa được cài đặt.

Để tạo một trình bao bọc chạy:

gradle wrapper

Lệnh này tạo ra:

gradle-wrapper.properties sẽ chứa thông tin về phân phối Gradle

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.