Java Gradle Composite 构建无法解决问题

标签 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 版本并运行刷新 gradle 项目来构建项目

最佳答案

我忘记在 b.settings.gradle 上添加以下行:

b.settings.gradle:

includeBuild  '../A'

之后就完美运行了。

关于Java Gradle Composite 构建无法解决问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46215977/

相关文章:

java - Selenium getAttribute(href) 使用 java 返回 null 值 - Salesforce 应用程序

JavaFX ChoiceBox 空选择

java - 如何从批处理脚本检查 Java 安装?

Java,数字金字塔

gradle - 当源代码中存在非 UTF8 字符时,如何让 Gradle 构建失败?

android - 将 android 项目迁移到 Gradle?

java - Android Studio 错误 - groovy.lang.MissingMethodException : No signature of method: build_8sqj**q9. android() 适用于参数类型:***

java - JRockit : -XX:+UnlockCommercialFeatures

android - 检查选定的构建在gradle上

intellij-idea - 无法更改配置的依赖项