Gradle-为特定组定义Maven存储库

Gradle-为特定组定义Maven存储库,gradle,Gradle,我的Gradle实现使用Maven Central和本地存储库来存储我公司的JAR。有没有办法告诉Gradle在本地存储库中只搜索组为“com.myCompany”的依赖项?当在我的本地回购协议中找不到公共jar时,我会犯错误,我认为这可能是解决这个问题的一种方法。我不认为这是可能的。但如果您出现错误,当您的本地回购协议中没有找到公共JAR时,这很可能是您的私人回购协议的问题。当找不到请求的jar时,它应该返回正确的HTTP404。我过去和阿奇瓦有过争执。但在阿奇瓦有一个选择 解决方法可能是更改

我的Gradle实现使用Maven Central和本地存储库来存储我公司的JAR。有没有办法告诉Gradle在本地存储库中只搜索组为“com.myCompany”的依赖项?当在我的本地回购协议中找不到公共jar时,我会犯错误,我认为这可能是解决这个问题的一种方法。

我不认为这是可能的。但如果您出现错误,当您的本地回购协议中没有找到公共JAR时,这很可能是您的私人回购协议的问题。当找不到请求的jar时,它应该返回正确的HTTP404。我过去和阿奇瓦有过争执。但在阿奇瓦有一个选择

解决方法可能是更改构建脚本中回购的顺序:

而不是

repositories {
    maven { url:...}
    mavenCentral()
}
试一试

在这种情况下,Gradle将首先尝试mavenCentral,它的行为是正确的,并且只有您的本地存储库在最后。

是的,它是正确的。例如:

repositories {
    maven {
        url "https://artifacts.myCompany.com/m2_repo"
        content {
            includeGroup "com.myCompany"
        }
    }
}


这就是我目前所拥有的,但在暴露我的jar名称时会带来一个小的安全问题。如果您尝试从maven存储库(例如,使用浏览器)下载一个公共jar,会发生什么情况?你有找不到的404吗?
repositories {
    maven {
        url "https://artifacts.myCompany.com/m2_repo"
        content {
            includeGroup "com.myCompany"
        }
    }
}