如何将所有项目依赖项发布到本地文件系统存储库?
例如,我有一个依赖于A
的项目P
。我想将A
和P
复制到本地m2存储库,但<ivy:publish/>
只会复制P
。
可选:
存储库应该是maven格式(带有pom和其他元数据,带有点的groupId转换为目录)。
如果您希望您的本地存储库具有Maven格式,则需要调整以下答案以使用ivy文件解析程序,而不是更普通的ibilio解析程序:
- 将ivy.xml转换为pom.xml
- 如何使用ivy和nexus发布第三方作品
需要注意的事项:
- 您需要使用makepom任务生成(并发布)MavenPOM文件。为什么?Maven和ivy使用不同的存储库元数据文件来存储依赖关系。因此,如果您使用Maven本地repo来解决ivy依赖关系,ivy将期望看到每个模块的ivy.xml文件,Maven将期望看到pom.xml
- ibilio解析器理解Maven POM和其他元数据文件的怪异之处,并可以为ivy解析进行翻译。这就是为什么在构建技术之间共享工件时,最好使用Maven存储库管理器的原因
希望这能有所帮助!