23

Giả sử tôi muốn thêm guice-assistedinject làm phụ thuộc trong dự án của tôi. Nó chỉ định tạo phẩm guice như là một bản thân sự phụ thuộc. Làm thế nào để tôi nói nó để sử dụng phiên bản no_aop của guice?Làm thế nào để chỉ định một trình phân loại trong sự phụ thuộc của một phụ thuộc gradle?

Tôi biết tôi có thể làm như sau, nhưng tôi có thể làm điều đó trong một bước mà không loại trừ mô-đun guice không?

dependencies { 
    compile (group: 'com.google.inject.extensions', name: 'guice-assistedinject', version: '3.0') { 
    exclude module: 'guice' 
    } 
    compile group: 'com.google.inject', name: 'guice', version: '3.0', classifier: 'no_aop' 
} 

Trả lời

40

Không có giải pháp đơn giản hơn. Bạn có thể rút ngắn mã bằng cách sử dụng ký hiệu phụ thuộc ngắn (ví dụ: "com.google.inject:guice:3.0:no_aop").

+0

Điều này có hiệu quả đối với chỉ tạo tác phẩm .jar không? Công việc tương tự cho một tạo phẩm .zip cũng có nghĩa là guice-3.0-no_app.zip nếu nó có sẵn trong Artifactory hoặc repo nhị phân tương tự. –

+4

Tìm thấy câu trả lời: "com.google.inject: guice: 3.0: no_app @ zip" sẽ hoạt động trong trường hợp đó. –

+2

Nếu mô-đun có POM (đúng), '@ zip' sẽ không cần thiết. '@ zip' về cơ bản có nghĩa là" nhận được chỉ tạo tác phẩm zip này, không cần phải nhìn vào POM, không cần phải nhận phụ thuộc transitive ". –

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