Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么找不到springBoot{}?_Java_Spring_Spring Boot_Gradle_Gradle Kotlin Dsl - Fatal编程技术网

Java 为什么找不到springBoot{}?

Java 为什么找不到springBoot{}?,java,spring,spring-boot,gradle,gradle-kotlin-dsl,Java,Spring,Spring Boot,Gradle,Gradle Kotlin Dsl,我有一个构建脚本,看起来像这样: plugins { id("org.springframework.boot") version "2.2.2.RELEASE" apply false id("io.spring.dependency-management") version "1.0.9.RELEASE" apply false id("java") } repositories { mavenCentral() } allprojects { //

我有一个构建脚本,看起来像这样:

plugins {
    id("org.springframework.boot") version "2.2.2.RELEASE" apply false
    id("io.spring.dependency-management") version "1.0.9.RELEASE" apply false
    id("java")
}

repositories {
    mavenCentral()
}

allprojects {
   // ...
}

project("core") {
    apply(plugin = "org.springframework.boot")
    apply(plugin = "io.spring.dependency-management") // plugin to manage spring dependencies

    dependencies {
        implementation("org.springframework.boot:spring-boot-starter-web")
        testImplementation("org.springframework.boot:spring-boot-starter-test")
    }

    springBoot {
        mainClassName = "com.example.App"
    }

}

然而,在建筑时,格拉德尔抱怨说

springBoot {

^ Unresolved reference: springBoot
如果我在
plugins{}
块中删除spring插件上的
apply false
,一切都正常

我不明白的是,为什么
springBoot{}
即使我在“core”子项目中为springBoot调用了
apply(plugin=)
,也无法解决这个问题? 我的理解是,在
plugins{}
中,我将插件导入到项目中,但尚未应用它。稍后在
core
子项目中,我应用插件并配置spring引导

来自年级文档

在这种情况下,生成脚本无法使用类型安全访问器,因为apply()调用发生在生成脚本的主体中。您必须使用其他技术,如下所示:

类型安全访问器对于由以下项提供的模型图元不可用:

通过apply(plugin=“id”)方法应用的插件

项目构建脚本

脚本插件,通过apply(from=“Script plugin.gradle.kts”)

通过跨项目配置应用的插件

您必须使用下面的配置选项

configure<SpringBootExtension> {
      mainClassName = “ com.example.App”
}
配置{
mainClassName=“com.example.App”
}
来自等级文档

在这种情况下,生成脚本无法使用类型安全访问器,因为apply()调用发生在生成脚本的主体中。您必须使用其他技术,如下所示:

类型安全访问器对于由以下项提供的模型图元不可用:

通过apply(plugin=“id”)方法应用的插件

项目构建脚本

脚本插件,通过apply(from=“Script plugin.gradle.kts”)

通过跨项目配置应用的插件

您必须使用下面的配置选项

configure<SpringBootExtension> {
      mainClassName = “ com.example.App”
}
配置{
mainClassName=“com.example.App”
}

您使用的是kotlin还是groovy版本?@smac89 kotlin dslTry将
项目(“核心”)
更改为
项目(“核心”)
Hmmm仍然是相同的错误我可能会说刷新项目并重试,或者将您的插件版本升级到可用的最新版本您是否使用kotlin或groovy版本?@smac89 kotlin dslTry将
project(“core”)
更改为
project(“core”)
Hmmm还是相同的错误我可能会说刷新项目并重试,或者将您的插件版本升级到可用的最新版本