2013-07-10 52 views
0

如何将所有项目依赖项发布到本地文件系统存储库?发布所有常青藤依赖关系

例如我有项目P取决于A。 我想将AP复制到本地m2存储库,但<ivy:publish/>将只复制P

任选地:

存储库应在行家格式(与POMS和其他元数据,以变换为目录点组id)。

+0

本地Maven仓库实际上是一个缓存(常青藤在缓存和仓库之间有一个清晰明确的区别)。建议您最好不要使用它。如果你使用的是Maven,为什么不设置像Nexus这样的适当的Maven仓库管理器?你永远不会回头看! –

+0

本地我的意思是装载网络共享与归档所有依赖关系。我宁愿避免现在设置nexus,也希望这样的基本功能可以在ivy中实现。我想要maven布局,因为它是jar库的事实标准,并且受到很多工具的支持。 –

+0

Maven是作为** remote **存储库实现时的事实布局。这就是为什么我建议使用存储库管理器(这将为您处理这些细节)。对于本地版本库,建议最好坚持常春藤的缓存机制不变。通过共享安装的网络驱动器,您可以获得非常少的收益,并为您的构建添加大量的复杂性和自定义构建逻辑。最重要的是,一个正确的Maven仓库可以被所有的构建技术共享:Maven,Ivy,Gradle,Buildr ......他们都支持Maven仓库。 –

回答

0

如果你希望你的本地仓库有一个Maven的格式,那么你就需要去适应以下答案与常春藤file解析器,而不是更加正常ibilio解析器的工作:

件事情要注意:

  • 您需要使用makepom任务生成(并发布)Maven POM文件。为什么? Maven和ivy使用不同的存储库元数据文件来存储依赖关系。所以,如果你使用Maven本地仓库解决常春藤常春藤的依赖关系会希望看到的ivy.xml文件和Maven会希望看到的pom.xml文件为每个模块
  • ibilio解析器理解的Maven POM等元数据文件古怪,可以翻译为常春藤解决。这主要是为什么当在构建技术之间共享工件时最好建议使用Maven存储库管理器。

希望这有助于!

相关问题