23

Powiedz, że chcę dodać guice-assistedinject jako zależność w moim projekcie. Określa artefakt guice jako zależność. Jak mam mu powiedzieć, aby używał wersji gitary no_aop?Jak określić klasyfikator w zależności zależności gradle?

Wiem, że mogę wykonać następujące czynności, ale czy mogę zrobić to w jednym kroku, nie wykluczając modułu guice?

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' 
} 

Odpowiedz

40

Nie ma prostszego rozwiązania. Można skrócić kod za pomocą krótkiej notacji zależnej (na przykład "com.google.inject:guice:3.0:no_aop").

+0

Czy to działa tylko w przypadku artefaktu .jar? Czy ta sama praca dotyczy artefaktu .zip, to znaczy guice-3-o-app.zip, jeśli jest dostępny w programie Artifactory lub podobnym repozytorium binarnym. –

+4

Znaleziono odpowiedź: "com.google.inject: guice: 3.0: no_app @ zip" będzie działać w takim przypadku. –

+2

Jeśli moduł ma (poprawny) POM, '@ zip' nie będzie potrzebny. '@ zip' w gruncie rzeczy oznacza" otrzymaj tylko ten artefakt zip, nie musisz patrzeć na POM, nie ma potrzeby przechodzenia zależności tranzytowych ". –