Gradle 不包含可选依赖
Posted
技术标签:
【中文标题】Gradle 不包含可选依赖【英文标题】:Gradle Does Not Include Optional Dependency 【发布时间】:2014-11-30 22:08:47 【问题描述】:我有一个项目,它具有 apache-compress
库作为编译时依赖项。这个库似乎使用 Maven,并且有一个 POM 文件,其依赖项设置为“可选”。以下是 POM 文件的相关部分:
<dependency>
<groupId>org.tukaani</groupId>
<artifactId>xz</artifactId>
<version>1.5</version>
<optional>true</optional>
</dependency>
Gradle 似乎没有将此库包含在我的项目中,我猜这是因为“可选”属性。有什么方法可以告诉 Gradle 包含此依赖项,而无需自己明确包含 xz 库?
这是我的 Gradle 依赖声明:compile group: 'org.apache.commons', name:'commons-compress', version:'1.8.1'
【问题讨论】:
对 Ivy 使用相同的依赖项似乎 Ivy 默认包含可选依赖项,或者可能只是完全忽略该设置。 【参考方案1】:传递依赖解析不考虑可选依赖,如果需要,必须显式添加。 (在 Maven 中也是如此。)
【讨论】:
感谢您的明确答复。有没有办法告诉 gradle 包含在 commons-compress POM 中定义的 xz 库的版本,而不是显式定义某个版本? 不,没有(虽然我可以看到这很有用)。以上是关于Gradle 不包含可选依赖的主要内容,如果未能解决你的问题,请参考以下文章