如何使用子项目从Gradle根/容器项目构建和运行?

时间:2017-10-16 19:24:53

标签: gradle build.gradle

我有两个子项目,每个子项目都有Java源代码和资源。

这些是在根项目中(基本上只是一个运行/构建的容器)。

我想运行根项目,以便:

  • 每个子项目都会构建,并生成类文件。
  • 然后,根项目可以访问类文件并运行。


项目结构如下:

Root
|----build.gradle
|----settings.gradle(hold references to subprojects)
|----SubProjectA
|----|----build.gradle
|----SubProjectB
|----|----build.gradle

每个子项目在build.gradle中都有依赖项

在root build.gradle中,我想构建两个子项目,通过子项目sourceSets引用生成的类,然后从其中一个子项目运行代码,这些子项目依赖于在另一个子项目中构建的类。

对于我的root gradle.build,我一直在尝试执行类似下面的操作,然后尝试运行构建:

sourceSets {
    main {
        java {
            runtimeClasspath = project(':SubProjectA').sourceSets.main.asPath + project(':SubProjectB').sourceSets.main.asPath
        }
        resources {
            resources.srcDirs = project(':SubProjectA').resources.asPath + project(':SubProjectB').resources.asPath
        }   
    }
}

这导致错误,因为我无法获取子项目的sourceSets。

您知道我的root gradle.build文件应该如何显示,以便我可以引用子项目源/资源集吗?使用SourceSets甚至是一种有效的方法吗?

0 个答案:

没有答案