Gradle - 将第三方依赖项安装到本地常春藤存储库中
Posted
技术标签:
【中文标题】Gradle - 将第三方依赖项安装到本地常春藤存储库中【英文标题】:Gradle - Install thirdparty dependencies into local ivy repository 【发布时间】:2015-01-23 15:05:16 【问题描述】:我有一个 gradle 项目,它有几个第三方依赖项。目前,我已将mavenCentral()
设置为存储库,以使我能够下载 JAR 并编译/运行等。
但是,我在文件系统上有一个本地常春藤风格的存储库,它被用作本地存储库(用于控制开发人员添加的 JAR,而不仅仅是让 mavenCentral 可用于所有 JAR 随时更新 - 就像工件一样,但没有应用程序服务器的东西)。
所以我让我的 PoC 与我的依赖项一起工作,我现在想将当前下载的第三方 JAR 集安装到我的本地 ivy 存储库中,这样我就可以删除对 mavenCentral 的依赖,并且所有构建都只使用本地 JAR - 是有什么简单的方法可以使用 gradle 在我的 ivy 存储库中安装这些缓存的 JAR?
我尝试使用如下的 copyDeps 任务,但这只是将 jar 复制到一个平面文件夹,但我想要常春藤文件夹结构
task copyDeps(type: Copy)
from configurations.runtime
into '/tmp/lib'
这可能/容易吗? (不,假设我不能彻底改变设置/环境/过程:)
【问题讨论】:
【参考方案1】:没有任何简单的方法可以使用 Gradle 将第三方依赖项及其所有元数据(模块描述符、校验和等)安装到 Maven/Ivy 存储库中。这是你必须自己编写脚本的东西。如果您从 Maven 转到 Ivy 存储库,您还必须将 pom.xml 转换为 ivy.xml 等。
PS:不要使用基于文件的 Ivy 存储库。 Artifactory 是一个很多更好的选择,而且它是免费且易于设置的。我认为它甚至可以将 pom.xml 转换为 ivy.xml(但首先要重新考虑是否真的需要 Ivy 存储库)。
【讨论】:
以上是关于Gradle - 将第三方依赖项安装到本地常春藤存储库中的主要内容,如果未能解决你的问题,请参考以下文章