有没有办法告诉Gradle排除特定依赖项的所有依赖项,这些依赖项将从给定的存储库中提取?
从存储库列表中删除该存储库是行不通的,因为我需要该存储库用于其他依赖项。但是对于一个特定的组,我想排除那些来自该存储库的依赖项。
类似的东西:
dependencies {
compile <my_first_package>
compile('my_second_package') {
exclude repository.name:thirdPartyRepository
}
}
答案 0 :(得分:1)
查看源代码,如何排除依赖关系只有两种可能性,即exclude by module or a group。您还可以标记依赖项,而不是获取其传递依赖项:
<!-- Controller to get data from the Service or Factory ( pay attention to service injection here ) -->
app.controller('mainCtrl', ['$scope', 'dataService', function($scope,dataService) {
dataService.getData().then(function(response) {
$scope.response = response.data;
}, function(error) {
$scope.error = error;
$scope.response = [];
});
});
<!-- Factory to handle your data from REST or JSON -->
(function () {
"use strict";
app.factory("dataService",['$http', function($http){
function getData (){
return $http.get('/scripts/controllers/fda/appSvc.json');
}
return {
getData : getData
};
}]);
})();
但就是这样,似乎没有办法根据存储库删除依赖项。您可以使用ResolutionStrategy强制使用版本,也可以查看是否有帮助您的用例。
作为一种解决方法,也许您可以使用不同的名称或版本重新打包错误的依赖项。或者您可以使用compile('my_second_package') {
transitive = false
}
并简单地添加您实际想要的所有传递依赖项作为声明的依赖项。