Java Gradle Composite构建无法解决问题

时间:2017-09-14 09:55:14

标签: java gradle

我有一个项目A和B,它们位于一个存储库中。 B使用A中的一些函数,所以我想在运行B之前编译A.我发现这可以使用Gradle复合构建来完成。我创建了Gradle项目,如下面的结构。

结构:

|
|--A
|   |src
|   |build.gradle
|   |settings.gradle
|
|--B
|   |src
|   |build.gradle
|   |settings.gradle

A.build.gradle:

apply plugin: 'idea'

subprojects {
    apply plugin: 'java'
    apply plugin: 'idea'

    group "com.check"
    version "1.0"

    repositories {
        jcenter()
    }
}

A.settings.gradle:

rootProject.name = 'A'

B.build.gradle:

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'idea'

group "com.check"
version "1.0"

mainClassName = "com.check.B.Inititate"

dependencies {
    compile "com.check:A:1.0"
}

repositories {
    jcenter()
}

B.settings.gradle:

rootProject.name = 'B'

B项目启动方法:

package com.try.run;
import com.check.A.check;
public class Initiate {

    public static void main(String[] args) {
        System.out.println(check.ret());

    }

}

使用gradle构建时我得到以下错误

CONFIGURE SUCCESSFUL

Total time: 0.268 secs
Could not resolve: com.check:A:1.0

注意:我正在使用ecilipse Oxygen版本并运行refresh gradle项目来构建项目

1 个答案:

答案 0 :(得分:1)

我忘了在 b.settings.gradle上添加以下内容:

<强> b.settings.gradle:

includeBuild  '../A'

之后它完美运作。