Tôi đang di chuyển dự án Maven sang Gradle. Tôi cần quản lý phụ thuộc rất tryed resolutionStrategy như vậy:Sự phụ thuộc của GradleManagement
def dependencyVersions = [
'org.slf4j:slf4j-api' : '1.7.2',
'javax.inject:javax.inject' : '1',
'com.google.code.findbugs:annotations' : '2.0.1',
'com.typesafe:config' : '1.0.0',
'ch.qos.logback:logback-classic' : '1.0.9',
'com.google.guava:guava' : '14.0',
'com.google.inject:guice' : '3.0',
'com.google.inject.extensions:guice-multibindings' : '3.0',
'com.google.code.gson:gson' : '2.2.2',
'joda-time:joda-time' : '2.1',
'com.thoughtworks.paranamer:paranamer' : '2.5.2',
'org.codehaus.groovy:groovy-all' : '2.0.6',
'commons-validator:commons-validator': '1.4.0',
'org.apache.shiro:shiro-core' : '1.2.1',
'junit:junit-dep' : '4.10',
'org.mockito:mockito-core' : '1.9.5',
'org.hamcrest:hamcrest-core': '1.3',
'org.hamcrest:hamcrest-library': '1.3',
'org.unitils:unitils-core': '3.3'
]
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
def version = dependencyVersions["$details.requested.group:$details.requested.name"]
if (version != null)
details.useVersion version
}
}
}
nhưng bây giờ khi tôi cố gắng Gradle cài đặt (vào kho Maven địa phương) Tôi nhận được lỗi này:
Execution failed for task ':counter-module:install'.
Could not publish configuration 'archives' Unable to initialize POM pom-default.xml: Failed to validate POM for project lt.counter at /home/workspace/counter/counter-module/build/poms/pom-default.xml
Tôi tin rằng bạn đang tìm kiếm điều này: http://stackoverflow.com/questions/9547170/in-gradle-how-do-i-declare-common-dependencies-in-a-single-place là cách thứ ba khi tìm kiếm stackoverflow cho văn bản chính xác của tiêu đề câu hỏi của bạn ... –
Nhưng cách này không bắt buộc phải sử dụng phiên bản chính xác mà bạn muốn, nếu tôi đang sử dụng phiên bản phụ thuộc N và phụ thuộc khác của tôi sử dụng phiên bản phụ thuộc đó N- 1 Tôi sẽ bị xung đột. Tôi cần phải ép buộc tất cả các phụ thuộc của tôi sử dụng phiên bản N. – IowA
Ah, tôi hiểu rồi. Có, kỹ thuật bản đồ thực sự thuận tiện hơn và DRY. Nếu bạn không thể tin tưởng dev của bạn (và ai có thể ?: P) bạn sẽ muốn độ phân giải phụ thuộc, như bạn đang cố gắng. Thật không may tôi không có kinh nghiệm trực tiếp với điều đó. –