7

我有一个项目,它有apache-compress库作为编译时间依赖项。这个库似乎使用Maven,并有一个POM文件,其依赖项设置为“可选”。这里是POM文件的相关部分:Gradle不包含可选依赖项

<dependency> 
    <groupId>org.tukaani</groupId> 
    <artifactId>xz</artifactId> 
    <version>1.5</version> 
    <optional>true</optional> 
</dependency> 

摇篮似乎不包括在我的项目,我猜这是因为“可选”属性的这个库。有没有什么方法可以告诉Gradle在没有明确包含xz库的情况下包含这个依赖项?

这里是我的摇篮依赖性声明:compile group: 'org.apache.commons', name:'commons-compress', version:'1.8.1'

+1

对常春藤使用相同的依赖关系,似乎常春藤在默认情况下包含可选依赖项,或者可能完全忽略该设置。 – jjathman 2014-10-06 15:59:37

回答

9

可选的依赖不会被认为是传递依赖的分辨率,并且已经明确,如果需要,可以加入。 (这在Maven中是一样的。)

+0

感谢您的确切答案。有没有办法告诉gradle包含在commons-compress POM中定义的xz库的版本,而不是明确定义某个版本? – jjathman 2014-10-06 16:04:45

+4

不,没有(虽然我可以看到这是有用的)。 – 2014-10-06 16:05:22

相关问题