Maven 存储库,例如Maven 存储库 http://mvnrepository.com/提供最广泛的依赖管理项目。
Ivy 提供了访问 Maven 存储库并从那里下载工件的可能性。这些存储库中只有 pom 文件,没有 ivy.xml。
它们可以通过以下方式检索以 m2 兼容模式运行的 ivy 解析器 https://ant.apache.org/ivy/history/latest-milestone/resolver/ibiblio.html.
<ibiblio name="maven2" m2compatible="true"/>
特别是对于这个用例我想知道:
- 默认情况下哪些范围可用以及它们将提供哪些工件
- Maven 范围如何映射到 ivy conf/配置?
下面两篇文章帮助我更好地理解了Maven和Ivy是如何互操作的
- http://www.symphonious.net/2010/01/25/using-ivy-for-dependency-management/ 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 http://lightguard-jp.blogspot.com/2009/04/ivy-configurations-when-pulling-from.html
奇怪的是,我从来没有真正理解 ivy 配置,直到解释了如何使用它们来模拟 Maven 作用域。
以下列表来自www.symphonious.net 链接 http://www.symphonious.net/2010/01/25/using-ivy-for-dependency-management/并说明了 pom 文件/maven 存储库中的可用配置:
-
default运行时依赖项和主工件可以与
这个会议
-
master仅包含该模块本身发布的工件,
没有传递依赖
-
compile这是默认范围,如果未指定则使用。
编译依赖项在所有类路径中均可用
-
provided这很像编译,但表明您需要 JDK
或提供它的容器。它仅在编译类路径上可用,并且不可传递
-
runtime此范围表示不需要依赖项
编译,但用于执行。这是在运行时和测试中
类路径,但不是编译类路径
-
test此范围表示不需要依赖项
应用程序正常使用,仅用于测试
编译和执行阶段
-
system此范围与提供的范围类似,只是您必须
提供明确包含它的 JAR。
-
sources此配置包含此的源工件
模块(如果有) 项目来源
-
javadoc此配置包含此的 javadoc 工件
模块,如果该项目有任何 JavaDoc
-
optional包含所有可选依赖项
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)