Eclipse Luna Gradle Plugin 添加了一个没有被引用的依赖

Eclipse Luna Gradle Plugin adds a dependency that is not referenced

我正在使用 Eclipse Luna 和 Eclipse Luna 的 Gradle 插件(使用来自 Pivotal 的 Gradle IDE Pack 3.6.x)。我在 Gradle 支持下创建了一个简单的 Java 项目。在我下面 build.gradle

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'artifactory'

buildscript {
  repositories {
    maven { url 'http://dl.bintray.com/jfrog/jfrog-jars' }
    mavenCentral()
  }

  dependencies {
    classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '2.2.4')
  }
}

version = '1.0'

repositories {
  maven { url 'http://maven.restlet.com' }
  mavenCentral()
}

dependencies {
  compile group: 'com.cloudit4', name: 'cit4-util-lib', version: '1.0'
  compile group: 'org.restlet.gae', name: 'org.restlet', version: '2.3.2'
  compile group: 'org.restlet.gae', name: 'org.restlet.ext.servlet', version: '2.3.2'
}

// Artifactory...
artifactory {
  contextUrl = 'http://192.168.245.1:8081/artifactory'   //The base Artifactory URL if not overridden by the publisher/resolver
  publish {
    contextUrl = 'http://192.168.245.1:8081/artifactory'   //The base Artifactory URL for the publisher
    //A closure defining publishing information
    repository {
        repoKey = 'libs-release-local'   //The Artifactory repository key to publish to
        username = 'admin'          //The publisher user name
        password = 'mypass'       //The publisher password
    }
  }
  resolve {
    contextUrl = 'http://192.168.245.1:8081/artifactory'   //The base Artifactory URL for the resolver
    repository {
        repoKey = 'repo'  //The Artifactory (preferably virtual) repository key to resolve from
    }
  }
}

您可能会注意到,我正在使用 Artifactory 来托管我自己的工件(本地库、cit4-util-lib)。 通常我处理使用 Google App Engine 库的项目,很多时候我使用 gradle 的 appengine 插件将它包含在 Gradle 中。 但正如您所看到的,这次情况并非如此。 None 个依赖项依赖于 Google 个 App Engine 库。 但是当我执行 Gradle 依赖项刷新时,Google App Engine 库包含在我的依赖项中。 有人见过这种行为吗? gradle 在哪里查找要包含在项目中的库?是只有 build.gradle 文件中明确设置的依赖项还是更多?

当您将依赖项放入依赖闭包中时,gradle 将包含所有这些依赖项的依赖项。 (在 https://docs.gradle.org/current/userguide/artifact_dependencies_tutorial.html 上寻找“传递依赖项”)

查看 org.restlet.gae 依赖项的旧版本 pom:https://mvnrepository.com/artifact/org.restlet.gae/org.restlet/2.3.1/pom已损坏 link 你可以看到应用引擎的依赖。我想这就是它的来源。