Gradle 正在将依赖项下载到缓存中而不是 Maven 存储库中

Gradle downloading dependency into cache instead of maven repository

我试图在我的文件系统上为 maven 和 gradle 维护相同的存储库。但是我遇到了一些问题。

我的 build.gradle 文件中有以下内容。

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
    compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.9'
    runtime group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.9'
    runtime 'org.xerial:sqlite-jdbc:3.8.7'
}

GRADLE_HOME 是 D:\Programming\Java\gradle-2.2.1
GRADLE_USER_HOME 是 D:\Programming\Java\.m2

我的 gradle 主页与我的 Maven 存储库相同。

但是当通过 gradle 下载依赖项时,它们将被下载到 GRADLE_USER_HOME\cache 而不是存储库文件夹。我缺少什么配置?

编辑 我已经查看了Gradle In Action这本书的依赖管理章节。没有什么。我已经检查了 gradle 网站上的 dependency management,但它也只是说使用了缓存。

gradle好像没有这个选项。有人可以确认吗?

没有设置可以更改它。没有 gradle 这样的存储库。此外,由于混乱,gradle 使用存储库的文件夹作为依赖项缓存似乎不是一个好主意。

如果您尝试将 gradle 构建的工件发布到所述 Maven 存储库,您可能应该看看 maven-publish 插件。

如果您尝试在构建中使用该存储库中的工件,方法是将 mavenLocal() 添加到您的存储库,然后在您的依赖项中使用 compile 函数。

是的,我阅读了源代码并确认没有设置可以更改。

这是我的解决方案:

  1. 安装像 Nexus 这样的本地 maven 存储库管理器。

  2. 使用该存储库配置 gradle。