如何在gradle.gradle中获得gradle嵌入的公共值

问题描述 投票:0回答:1

我在common.build中定义了这样的公共依赖项(等级6.0.1):

ext {
    java = [
            compileSdkVersion: 1.8,
            minSdkVersion    : 1.8,
            targetSdkVersion : 1.8,
            versionCode      : 1.8,
    ]

    version = [
            mybatisGeneratorCoreVersion       : '1.3.7',
            itfswMybatisGeneratorPluginVersion: '1.3.8'
    ]

    dependencies = [
            mybatisGeneratorCore       : "org.mybatis.generator:mybatis-generator-core:${version["mybatisGeneratorCoreVersion"]}",
    ]
}

并在根项目build.gradle中使用,如下所示:

subprojects {
    apply from: "${rootProject.projectDir}/common.gradle"
dependencies {
        implementation rootProject.ext.dependencies.mybatisGeneratorCore
    }
}

并像这样构建项目:

./gradlew clean :soa-illidan-mini:soa-illidan-mini-service:build -x test

并给我这个错误:

~/Library/Mobile Documents/com~apple~CloudDocs/Document/source/dabai/microservice/soa-illidan-mini on  master! ⌚ 10:59:03
$ ./gradlew clean :soa-illidan-mini:soa-illidan-mini-service:build -x test

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/dolphin/Library/Mobile Documents/com~apple~CloudDocs/Document/source/dabai/microservice/build.gradle' line: 99

* What went wrong:
A problem occurred evaluating root project 'microservice'.
> Cannot get property 'dependencies' on extra properties extension as it does not exist

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 12s

我后面有互联网辅导员,应该怎么做才能解决此问题?

gradle
1个回答
0
投票
将您的apply命令移动到build.gradle的根目录,如下所示:

apply from: "${rootProject.projectDir}/common.gradle"

只需将其放在项目配置的顶层即可。有效!
© www.soinside.com 2019 - 2024. All rights reserved.