Gradle - 将第三方依赖项安装到本地ivy存储库中

时间:2014-11-25 14:43:47

标签: java groovy jar gradle ivy

我有一个gradle项目,它有几个第三方依赖项。目前,我已将mavenCentral()设置为存储库,以便我可以下载JAR并编译/运行等。

但是,我在文件系统上有一个本地常春藤样式存储库,用作本地存储库(用于控制开发人员添加的JAR,而不是只让mavenCentral可用于所有JAR,无论何时更新 - 很像神器,但没有应用程序服务器的东西)。

所以我让我的PoC使用我的依赖项,现在我想将当前下载的第三方JAR集安装到我的本地ivy存储库中,所以我可以删除对mavenCentral的依赖,所有构建只使用本地JAR - 是有没有简单的方法可以使用gradle在我的常春藤仓库中安装这些缓存的JAR?

我尝试过使用如下的copyDeps任务,但这只是将jar复制到平面文件夹,但我想要常春藤文件夹结构

task copyDeps(type: Copy) {
  from configurations.runtime
  into '/tmp/lib'
}

这可能/容易吗? (不,假设我无法彻底改变设置/环境/流程:)

1 个答案:

答案 0 :(得分:1)

没有任何简单的方法可以使用Gradle将第三方依赖项及其所有元数据(模块描述符,校验和等)安装到Maven / Ivy存储库中。这是你必须自己制作脚本的东西。如果您从Maven转到Ivy存储库,您还必须将pom.xml转换为ivy.xml等。

PS:不要使用基于文件的Ivy存储库。 Artifactory是一个很多更好的选择,而且它是免费且易于设置的。我认为它甚至能够将pom.xml转换为ivy.xml(但如果你真的需要一个Ivy存储库,那么首先要重新考虑)。