Gradle将依赖项下载到缓存而不是maven存储库

时间:2015-01-03 06:46:10

标签: java maven gradle dependency-management

我正在尝试在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 home与我的Maven存储库相同。

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

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

似乎gradle中没有这样的选项。有人可以证实吗?

2 个答案:

答案 0 :(得分:12)

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

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

如果您尝试在构建中使用该存储库中的工件,那么可以选择将mavenLocal()添加到您的存储库,然后在依赖项中使用compile函数。

答案 1 :(得分:0)

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

这是我的解决方案:

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

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