【问题标题】:Gradle trying to unzip a pom typed dependencyGradle 尝试解压缩 pom 类型的依赖项
【发布时间】:2015-11-28 10:58:07
【问题描述】:

在我的一个项目中,我依赖于一个 java 矩阵库 MTJ,我在 build.gradle 中这样指定:

dependencies {
  ...
  compile 'com.googlecode.matrix-toolkits-java:mtj:1.0.4'
  ...
}

MTJ 依次依赖于 netlib,更具体地说,它相当于在上面显式添加 compile'com.github.fommil.netlib:all:1.1.2'

当我运行 gradle 构建时。我收到以下错误:

Could not expand ZIP '/Users/valentin/.gradle/caches/modules-2/files-2.1/com.github.fommil.netlib/all/1.1.2/f235011206ac009adad2d6607f222649aba5ca9e/all-1.1.2.pom'. 
archive is not a ZIP archive.

所以不知何故,当它只是一个指向其他依赖项的 pom 时,gradle 会感到困惑并将文件视为 zip 文件。

任何人有修复或知道解决方法?

【问题讨论】:

    标签: gradle zip pom.xml mtj netlib


    【解决方案1】:

    请看here。您指定的依赖项是 pom 类型 - maven 中的这种类型用于聚合项目。 Gradle 下载它,尝试解压缩并失败。看来这不是你要找的。 Here 你可以找到组的其他工件:com.github.fommil.netlib。请找到您要查找的 jar 并直接指定依赖项。

    【讨论】:

    • 谢谢!问题是我没有直接导入 netlib,而是通过 mtj 间接导入...你认为这是 mtj 依赖项定义中的错误还是 gradle 中的限制/错误?
    • 有没有一种方法可以在不触发递归依赖包含的情况下在 gradle 中包含依赖项?
    • 您可以排除单个依赖项或一组依赖项。然后单独添加netlib依赖。看看这个部分:docs.gradle.org/current/userguide/…
    • 是的,我刚刚注意到transitive = true|false。这可能就足够了。非常感谢。
    猜你喜欢
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    相关资源
    最近更新 更多