如何访问(在Gradle中)不在Maven或Ivy回购目录结构中的工件jar依赖项?

时间:2019-05-06 18:51:48

标签: gradle artifactory

使用网址提供人工仓库:

http://myrepo.myworld.com/my-stuff

在回购的根目录立即包含一个jar:

http://myrepo.myworld.com/my-stuff/doofus-lib-1.0-SNAPSHOT.jar

没有元数据,没有pom,除了jar的其他版本以外没有其他文件,如何编写repositories设置和dependencies设置,以便将jar包含在构建中? / p>

注意:

  1. 此解决方案必须能够从 git repo下载后,gradle命令行。它必须 在我们的CI / CD系统中工作。

  2. 我知道我可以下载jar,将其添加到我的git repo中,然后添加一个 flatDir配置为我的Gradle repositories。我不想做 这个。我不想向我的git repo添加大的二进制文件。

2 个答案:

答案 0 :(得分:2)

我目前无法对其进行测试,但是您应该能够在设置中使用自定义Ivy存储库的功能:

repositories {
    ivy {
        url 'http://myrepo.myworld.com/my-stuff'
        metadataSources {
            artifact()
        }
        patternLayout {
            artifact "[artifact]-[revision].[ext]"
        }
    }
}

metadataSources闭包告诉Gradle仅注意工件,不要期望任何类型的元数据(例如.pom.ivy)。 patternLayout闭包描述了应如何形成工件路径。这可能取决于以后如何在dependencies块中定义依赖项。支持的占位符为:

  • organization
  • module
  • revision
  • artifact
  • classifier
  • extension

答案 1 :(得分:0)

您应该只能够将jar文件从其所在位置拖到您的项目中。例如,如果将其拖到工作区中,它将显示在项目文件夹中。在这里,您只需右键单击jar文件并选择构建路径。这会将其包括在构建中并设置路径。