使用没有pom文件的maven repo

使用没有pom文件的maven repo,maven,gradle,artifactory,Maven,Gradle,Artifactory,我们有一个大型的定制工件存储库,供我们的旧内部ant构建使用 它存储jar的方式与maven存储库的存储方式大致相同。i、 e http://repo/root/<group>/<artifact>/<version>/<artifact>-<version>.jar http://repo/root////-.jar 但是,此存储库不包含pom文件。只有罐子和src罐子 我们现在正在将大量项目迁移到使用maven/gradle,这

我们有一个大型的定制工件存储库,供我们的旧内部ant构建使用

它存储jar的方式与maven存储库的存储方式大致相同。i、 e

http://repo/root/<group>/<artifact>/<version>/<artifact>-<version>.jar
http://repo/root////-.jar
但是,此存储库不包含pom文件。只有罐子和src罐子

我们现在正在将大量项目迁移到使用maven/gradle,这些项目使用我们现有的人工安装。但是这些项目仍然对存储在旧存储库中的工件有很多依赖性

我想知道是否有人知道使用maven/gradle访问这种旧式回购(没有POM)的方法

我们可以合成并插入大量简单的POM,它们只有组/工件/版本等,并且没有依赖关系。但我想知道是否有更简单的方法

毕竟,组/工件/版本在路径本身中。POM从不包含依赖项,因此在这种情况下,POM不会(据我所见)提供任何附加信息


任何建议/帮助都将不胜感激。

当您将项目转换为Maven时,您需要触摸依赖项定义。您需要用Maven坐标替换旧的、基于文件的访问

因此,我建议如下(我们做了一些非常类似的事情,只是使用了Windows网络驱动器,而不是基于http的存储库):

  • 编写一个脚本,将所有工件从旧存储库上传到工件库。如果您使用maven
    deploy:deploy文件
    ,maven将为您创建存根pom

  • 为开发人员编写脚本,根据pom各自的Maven坐标转换旧存储库上的引用


附带说明:在我们公司,旧的“存储库”和Maven存储库同时被积极使用(并写入),因此我们开发了Nexus和旧的“存储库”之间的双向同步作业。

Gradle不需要pom文件,如果它们不可用,它应该直接引用JAR。所以这应该“起作用”

如果由于某种原因,有细微的差异,您可以使用常春藤存储库。见和例:


我们只需要确保我们的文件名遵循maven约定,它就可以工作了。干杯
repositories {
    maven {
        url "http://repo/root"
    }
}
repositories {
    ivy {
        url "http://repo/root" 
        layout "pattern", {
            artifact "[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier])(.[ext])" 
        }
    }
}