Gradle不包含可选的依赖项

jja*_*man 7 java dependency-management gradle maven apache-commons-compress

我有一个项目,它将apache-compress库作为编译时依赖项.该库似乎使用Maven,并且具有一个POM文件,其依赖项设置为"可选".以下是POM文件的相关部分:

<dependency>
  <groupId>org.tukaani</groupId>
  <artifactId>xz</artifactId>
  <version>1.5</version>
  <optional>true</optional>
</dependency>
Run Code Online (Sandbox Code Playgroud)

Gradle似乎没有将这个库包含在我的项目中,我猜它是因为"可选"属性.有没有办法告诉Gradle包含这个依赖项而不自己明确地包含xz库?

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

Pet*_*ser 11

可选依赖项不考虑传递依赖性解析,必要时必须明确添加.(在Maven中也一样.)

  • 不,没有(虽然我可以看到这是有用的). (6认同)
  • 感谢您的明确答复。有没有办法告诉 gradle 包含在 commons-compress POM 中定义的 xz 库的版本,而不是明确定义某个版本? (2认同)