在常春藤回购协议中声明Maven项目依赖人工制品

在常春藤回购协议中声明Maven项目依赖人工制品,maven,maven-2,ivy,Maven,Maven 2,Ivy,我有一个Maven 2项目,现在需要声明对保存在常春藤存储库中的人工制品的依赖 这可能吗?如果可能,如何实现 Maven是一个相当固执己见的框架,因此只支持Maven存储库 你能控制常春藤的储存库吗?最好的解决方案是将其内容迁移到像Nexus这样的Maven存储库管理器(Artifactory、ApacheArchiva是其他选项) 拥有存储库管理器有很多好处: 支持所有构建客户机、Maven、Ivy、Gradle等 搜索工件的能力 试试常春藤Maven插件: “将apache Ivy依赖

我有一个Maven 2项目,现在需要声明对保存在常春藤存储库中的人工制品的依赖


这可能吗?如果可能,如何实现

Maven是一个相当固执己见的框架,因此只支持Maven存储库

你能控制常春藤的储存库吗?最好的解决方案是将其内容迁移到像Nexus这样的Maven存储库管理器(Artifactory、ApacheArchiva是其他选项)

拥有存储库管理器有很多好处:

  • 支持所有构建客户机、Maven、Ivy、Gradle等
  • 搜索工件的能力

试试常春藤Maven插件:

“将apache Ivy依赖项添加到Maven项目的插件。这是Evgeny Goldin的Ivy Maven插件的分支,修复了对可传递依赖项的支持。”


(请注意,下面的早期评论是指Evgeny Goldin的Ivy Maven插件-看起来这个fork解决了我遇到的问题)。

我最终将这个项目迁移到了。默认情况下,Gradle使用与Maven相同的项目布局,因此迁移非常简单

Gradle允许您:

  • 马文
  • 常春藤
  • 平面锉刀
因此,您可以在Maven repo中有一些依赖项,在常春藤repo中有一些依赖项,在项目库目录中有一些依赖项(震惊,恐惧!)


强烈推荐。

我将这个问题从答案改为评论,因为这可能是我的错误,我无法让它工作,我不想让其他人推迟尝试:“然而,我确实很难让它正常工作——尽管我可以看到依赖项按预期得到解决,但编译阶段没有看到来自Ivy repo的类。也许我运行的Maven版本太旧了。Sajan:我可以看到Maven从Ivy repo中获取依赖项,但是编译器没有找到那些JAR中的类,因此看起来类路径设置不正确。不幸的是,我再也没有用这个插件设置过这个项目来获取更多的细节。如上所述,这可能是我的错误或旧的Maven版本,因此绝对值得尝试该插件。