2014-10-30 18 views
23

Sau khi tôi tạo một dự án tốt nghiệp trong IntelliJ bằng cách sử dụng trình bao bọc gradle mặc định và tạo tùy chọn thư mục tôi thấy cấu trúc dự án được tạo bằng tệp build.gradle.Gắn nguồn gradle vào IntelliJ

IntelliJ khuyên tôi "Bạn có thể định cấu hình trình bao bọc Gradle để sử dụng phân phối với nguồn. Nó sẽ cung cấp IDE với tài liệu API Gradle/DSL" - nhưng tôi không thể đính kèm nguồn ngay cả sau khi nhấp vào "Ok, apply suggesstion" . Dự án gradle đang được làm mới nhưng các nguồn không được đính kèm.

Chúng tôi đang sử dụng kho lưu trữ Nexus.

+0

Vì vậy, từ việc này bạn sẽ nhận được Intellisense tốt hơn khi bạn dl phụ thuộc? – Travis

+0

Người dùng Gradle Wrapper, xem câu trả lời này: https://stackoverflow.com/a/46596203/924597 – Shorn

Trả lời

5

Nghe giống như một số sự cố IntelliJ. Để thực hiện việc này theo cách thủ công, hãy thay đổi gradle-bin thành gradle-all trong $projectDir/gradle/wrapper/gradle-wrapper.properties.

+0

Tôi nên thay đổi tài sản nào? có 5 thuộc tính: 'distributionBase, distributionPath, zipStoreBase, zipStorePath và distributionUrl' –

+0

Giá trị chứa' gradle-bin' ... –

+0

Cảm ơn, tôi không thấy bất kỳ 'gradle-bin' nào. Nhưng thuộc tính 'distributionUrl' chứa:'/gradle/2.1-all/gradle-2.1-all.zip' –

1

Câu trả lời của Peter không chính xác. Các tệp gradle-wrapper.propertiesgradle-wrapper.jar được tạo bởi tác vụ 'trình bao bọc' được hiển thị trong IntelliJ làm tác vụ xây dựng để thực hiện.

Khi wrapper được thực hiện, nó sẽ xây dựng tệp .jar.properties dựa trên cài đặt của bạn do đó bạn KHÔNG nên chỉnh sửa các tệp này theo cách thủ công khi chúng được tạo thành.

Bạn có thể gọi nhiệm vụ trình bao bọc thủ công rất dễ dàng trong thư mục dự án của bạn: ./gradlew wrapper cho các nền tảng * nix. Điều này sẽ tạo ra các tệp gradle-wrapper.propertiesgradle-wrapper.jar được cập nhật cho dự án của bạn.

Nếu bạn muốn chỉ định để sử dụng tất cả các nguồn hay không, bạn có thể dễ dàng sửa đổi tập tin build.gradle chính của bạn như sau:

allprojects { 
    task wrapper(type: Wrapper) { 
     gradleVersion = '4.1' 
     distributionUrl = 'https://services.gradle.org/distributions/gradle-4.1-bin.zip' 
    } 
} 

thay gradle-4.1-bin.zip cho gradle-4.1-all.zip để bao gồm các nguồn gradle, tài liệu và các ví dụ.

4

Để cải thiện câu trả lời @ anon58192932, bạn chỉ có thể sử dụng các trường gradleVersion và distributionType của tác vụ Wrapper và không cần phải tạo phân phối theo cách thủ công do lỗi có thể thay đổi phiên bản gradus ở một nơi. .

task wrapper(type: Wrapper) { 
    gradleVersion = '4.2' 
    distributionType = Wrapper.DistributionType.ALL 
} 
+0

Điều này cho tôi 'Không có thuộc tính như vậy: DistributionType cho lớp: org.gradle.api.tasks.wrapper.Wrapper'. Đây là mã gradle mới của tôi: 'allprojects { wrapper nhiệm vụ (loại: Wrapper) { gradleVersion =" 4.4 " distributionType = Wrapper.DistributionType.ALL } }' mã trước của tôi là dưới đây. – anon58192932

Các vấn đề liên quan