我在Gradle版本中定义了2个Repos:
repositories {
mavenLocal()
maven { url "http://someurl:8081/nexus/content/repositories/myrepo" }
}
现在我只想通过mavenLocal解析特定的工件(我的项目内部groupId),所有其他依赖项都可以通过maven repo查找。
我的想法是做类似
的事情mavenLocal{
addFilter('group') {artifact, file ->
artifact.group == 'my.group'
}
}
但它不起作用。有没有办法拦截本地maven存储库的依赖项查找?
注意:我见过How to configure gradle to use a local repository only for certain dependency groups?,但提供的解决方案对我来说并不理想。
如前所述:http://forums.gradle.org/gradle/topics/problem_mixing_gradle_and_maven_repositories我需要maven本地仓库在maven和gradle构建之间进行交换
编辑:Peter Niederwisers回答说,“目前还没有一种更细粒度的方法可以控制它。” (当前版本:1.5)答案 0 :(得分:0)
在存储库声明的顺序中,在所有存储库中搜索依赖项。成功解决依赖关系后,搜索将停止。目前还没有一种更细粒度的方法来控制它。
如果您绝对需要一种解决方法,您可以尝试基于在多个项目(可以有不同的存储库)上传播依赖性声明来提出解决方案。
答案 1 :(得分:0)
谁在as of gradle 5.1 +上获得更新:我们现在(正在孵化)Declaring a repository filter
repositories {
mavenLocal{
content {
includeGroup "my.group"
}
}
}