7

我想在我的(Grails)项目中包含 Apache commons-math 3.0。所以我将以下内容放入我的依赖项中:

compile "org.apache.commons:commons-math3:3.0"

它位于中央 maven 存储库中,请参阅http://central.maven.org/maven2/org/apache/commons/commons-math3/3.0/

Gradle 给了我错误

    ::::::::::::::::::::::::::::::::::::::::::::::

    ::              FAILED DOWNLOADS            ::

    :: ^ see resolution messages for details  ^ ::

    ::::::::::::::::::::::::::::::::::::::::::::::

    :: org.apache.commons#commons-math3;3.0!commons-math3.zip

    ::::::::::::::::::::::::::::::::::::::::::::::

其中包括:

==== mavenCentral: tried

  http://repo1.maven.org/maven2/org/apache/commons/commons-math3/3.0/commons-math3-3.0.zip

所以它似乎在寻找正确的地方,但为什么它在寻找拉链而不是罐子?Gradle doco 说 jar 是默认搜索的东西。我什至尝试使用带有 @ 符号的“仅工件表示法”来获取 jar(如http://gradle.org/docs/current/userguide/dependency_management.html中所述),但它仍然只搜索 zip。

4

1 回答 1

24

如果您使用 GrailsBuildConfig.groovy进行解析,则有两个依赖解析块,一个dependencies块和一个plugins块。确保您的声明在dependencies块内。如果它不小心被放置在plugins块中,它将寻找一个打包的插件,这些插件被打包为一个.zip文件。

于 2012-09-01T03:58:29.807 回答