【发布时间】:2017-07-21 00:53:46
【问题描述】:
我们正在从带 Ivy 的 Ant 迁移到 Maven。作为这一举措的一部分,我们将具有多个 jar 的项目(过去是单独的 Ivy 工件)放入带有分类器的 Maven 工件中。
新的 Maven 项目对此没有任何问题。但是,我们的 Ivy 项目找不到分类器的 pom.xml。
在我们的 Maven 存储库中,它们是项目中所有 jar 的单个 pom.xml:
http://repo.vegicorp.com/l/com/vegicorp/foo/1.0.0/foo-1.0.0.pom
http://repo.vegicorp.com/l/com/vegicorp/foo/1.0.0/foo-1.0.0.jar
http://repo.vegicorp.com/l/com/vegicorp/foo/1.0.0/foo-1.0.0-client.jar
http://repo.vegicorp.com/l/com/vegicorp/foo/1.0.0/foo-1.0.0-test.jar
查看调试 Ant 构建的输出,我发现它正在我们的 Maven 存储库中查找:
http://repo.vegicorp.com/com/vegicorp/foo/1.0.0/foo-1.0.0-client.pom
它将 分类器 附加到 pom.xml 文件的名称!它可以找到并下载jar,但没有pom.xml,它无法找出依赖关系。我们的构建失败,因为未下载依赖项。
我假设ivysettings.xml 中有一些设置会让 Ivy 知道 Pom 文件没有附加分类器,但我还没弄清楚。
那么,我该如何解决这个问题?我也许能够将丢失的pom.xml 复制到我们的存储库(这是 Artifactory),但我不确定我是否可以。 (也许 Artifactory 中有一个设置可以帮助解决这个问题?)。
【问题讨论】: