gradle - 了解Gradle中的项目依赖关系

标签 gradle

我有两个项目:

  • 项目A-该项目的主要代码为
  • 项目B-这个具有测试代码

  • (由于某种原因,我必须将测试代码保留在单独的项目中一段时间​​)

    现在在项目B中,我在项目A上添加了testCompile依赖项配置。我想了解这些依赖项配置语句之间的区别:
    dependencies {
        testCompile project(":ProjectA")
        testCompile project(":projectA").sourceSets.main.output
        testCompile project(path: "projectA", configuration: "compile")
    }
    

    我问这个问题是因为我实际上想将项目A的所有编译时间依赖项引入项目B的testCompile依赖项中,但我不知道该怎么做。我以为
    testCompile project(path: "projectA", configuration: "compile")
    

    可以,但是不能。

    任何帮助将不胜感激。

    最佳答案

    在projectB的build.gradle中,可以添加以下内容:

    dependencies{
        compile project(':projectA')
        testCompile 'junit:junit:4.12'
    }
    

    这告诉gradle在projectB中使用projectA的主要代码。然后,您可以在projectB中针对projectA编写测试。

    您可以这样做以获得有关依赖项的更多信息:
    task print << {
        println project(":projectA").getClass() //Output: org.gradle.api.internal.project.DefaultProject_Decorated
        println project(":projectA").sourceSets.main.output.getClass() //Output: org.gradle.api.internal.tasks.DefaultSourceSetOutput_Decorated
        println project(path: "projectA", configuration: "compile").getClass() //This doesn't work in gradle 3.0
    }
    

    项目或源集都可以在依赖项{}块中输入到配置中

    关于gradle - 了解Gradle中的项目依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37603601/

    相关文章:

    docker - 构建镜像时,Docker for Windows退出,代码为127

    java - 如何使用gradle指定对tomcat库的依赖

    java - 如何在 libGDX 项目中运行 TestNG 测试?

    android - Gradle 项目刷新失败,导致 http ://downloads/. ../gradle-2.4.1

    android - Gradle无法解决所有依赖关系

    spring - java 9模块从A和B读取包X

    java - 如何向 Gradle 添加新的源集?

    gradle - 在buildscript闭包中访问项目的额外属性

    java - OWLAPI : Parser not found if run from Jar

    java - 使用 Gradle 将所有创建的和第三方 jar 复制到一个文件夹中