如何将maven作用域映射到常青藤的ivyconfiguration
Maven仓库,像Maven仓库为依赖pipe理提供了最广泛的项目。
常春藤提供了访问maven仓库和从那里下载文物的可能性。 这些存储库中只有pom文件,没有ivy.xml。
他们可以用在m2compatible模式运行的常春藤parsing器检索。
<ibiblio name="maven2" m2compatible="true"/>
特别是对于这个用例,我想知道:
- 哪些范围默认可用,以及它们会提供哪些工件
- 如何将maven作用域映射到ivy conf / configuration?
以下两篇文章帮助我更好地理解了Maven和Ivy之间的相互作用
- http://www.symphonious.net/2010/01/25/using-ivy-for-dependency-management/
- http://lightguard-jp.blogspot.com/2009/04/ivy-configurations-when-pulling-from.html
奇怪的是,我从来没有真正理解常春藤configuration,直到它被解释如何可以用来模拟Maven范围。
以下列表来自www.symphonious.net链接,并说明了可从pom-files / maven存储库中获得的configuration:
- 默认运行时依赖关系和主工件可以用于这个conf
- master只包含这个模块本身发布的工件,没有传递的依赖关系
- 编译这是默认范围,如果没有指定,则使用。 编译依赖关系在所有类path中都可用
- 前提是这很像编译,但是表示您期望JDK或容器提供它。 它只在编译类path中可用,不可传递
- 运行时这个范围表示依赖不是编译所需要的,而是用于执行。 它在运行时和testing类path中,而不是在编译类path中
- testing这个范围表明这个依赖不是正常使用应用程序所必需的,并且只能用于testing编译和执行阶段
- 系统这个范围是类似的提供,除了你必须提供明确包含它的JAR。
- 源此configuration包含此模块的源工件,如果有项目的任何源
- javadoc这个configuration包含了这个模块的javadoc工件,如果这个工程有任何JavaDoc的话
- 可选包含所有可选的依赖关系