为什么解析依赖关系'classpath'这么慢?

时间:2014-03-10 06:06:51

标签: java gradle

当我将apache commons编解码器和apache commons io依赖项添加到我的项目中时,为什么我的所有gradle任务都变得非常慢(超过5分钟)?要清楚,执行构建任务仍然有效,但只需要很长时间。当它很慢时,gradle输出

resolving dependencies: 'classpath'

以下是我的build.gradle的违规部分:

buildscript {
  repositories {
    maven { url "http://repo.spring.io/libs-snapshot"  }
    mavenCentral()
    mavenLocal()
  }
  dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:0.5.0.M6")
    classpath("org.mongodb:mongo-java-driver:2.11.3")
    classpath("org.seleniumhq.selenium:selenium-java:2.37.1")
    classpath("com.google.guava:guava:16.0.1")
    classpath('commons-codec:commons-codec:1.9')
    classpath("commons-io:commons-io:2.4")
  }
}

如果我不包含最后两个类路径依赖项(编解码器和io),那么buildscript要快得多。我通过gradlew使用gradle 1.10。

2 个答案:

答案 0 :(得分:1)

第一个问题是你真的需要将所有这些依赖项添加到Gradle脚本的类路径中吗?这些脚本插件依赖项或应用程序的依赖项是什么?

您的示例与Spring Boot example看起来完全不同。您正在使用更旧版本的Spring Boot Gradle插件。

答案 1 :(得分:0)

哈里·梅农(Hari Menon)的评论对我来说是正确的。我混用了gradle和maven仓库,这使使用Gradle 3的构建变得非常麻烦。删除gradle仓库解决了这个问题。