首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在父build.gradle中找不到id弹簧引导的插件

在父build.gradle中找不到id弹簧引导的插件
EN

Stack Overflow用户
提问于 2015-11-06 06:57:37
回答 3查看 9.6K关注 0票数 5

我的项目结构如下:

爪哇/

  build.gradle

  settings.gradle

主要项目a/

    build.gradle

项目B/

    build.gradle

当我把下面的代码输入,例如projectA的build.gradle,

代码语言:javascript
复制
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.6.RELEASE")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'spring-boot'
...

一切都很好。

但是,如果我将上述代码放在Java的build.gradle中:

代码语言:javascript
复制
subprojects {
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.6.RELEASE")
        }
    }

    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'spring-boot'
    ...
}

当运行gradle干净构建时,它一直在报告以下错误:

插件与id‘弹簧启动’找不到。

以前有人遇到过这个问题吗?为什么?

EN

回答 3

Stack Overflow用户

发布于 2015-11-06 09:27:13

我想出了解决办法,但不知道为什么。威尔在周末花了些时间看医生..。

将多项目build.gradle更改为:

代码语言:javascript
复制
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.6.RELEASE")
    }
}

subprojects {
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'spring-boot'
    ...
}

即将buildscript从子项目中移出

票数 9
EN

Stack Overflow用户

发布于 2018-06-23 16:33:57

尝试使用完全限定名,如下所示:

代码语言:javascript
复制
plugins{
id 'org.springframework.boot' version '2.0.3.RELEASE'
id 'java'
}
票数 1
EN

Stack Overflow用户

发布于 2021-07-03 09:05:13

你需要指定一些插件的版本,你只需要。但是gradle不想要多个不同的版本,即使您在多个文件中键入相同的版本,如果它们相互包含,它也不能工作。

因此,要解决必须将公共插件移动到根项目的问题,一些项目不使用它并不重要,请进一步阅读。下面是技巧部分,您需要将apply false放在根项目中的插件中。由于这一点,它将不会应用于根和其他项目,但它将应用到所有的项目,您将添加插件。

所以,从根本上来说,你应该放:

代码语言:javascript
复制
plugins{
    id 'org.springframework.boot' version '2.0.3.RELEASE' apply false
}

但是在子项目中,您将它放在没有版本的

代码语言:javascript
复制
plugins {
    id 'org.springframework.boot'
}

另外,不要忘记将include语句放在根项目中,用于根项目需要应用的所有文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33561168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档