预期班级没有实际申报

时间:2019-02-23 04:25:50

标签: intellij-idea kotlin gradle-kotlin-dsl kotlin-multiplatform

我正在做一个多平台项目。

我的gradle文件的一部分看起来像这样

...
kotlin {
    jvm()
    jvm("api")
    js()
    mingwX64("mingw")
    sourceSets {
        ...
        val jvmMain by getting {
            dependencies {
                implementation ("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
            }
        }
        val jvmTest by getting {
            dependencies {
                implementation ("org.jetbrains.kotlin:kotlin-test")
                implementation ("org.jetbrains.kotlin:kotlin-test-junit")
            }
        }
        val apiMain by getting {
            dependencies {
                dependsOn(jvmMain)
            }
        }
        val jsMain by getting {
            dependencies {
                implementation ("org.jetbrains.kotlin:kotlin-stdlib-js")
            }
        }
        ...
    }
}

现在commonsMain来源中,我收到一个IDE错误(红色下划线),上面写着“期望的类Sample在apiMain中没有实际的声明”,但是apiMain依赖于具有实际声明的jvmMain。

我认为apiMain中不需要实际的声明,因为我在jvm中已经有一个声明。

在设置源集时我应该采取其他方法吗?

无论如何,该项目都可以正常编译,并且我可以运行apiMain,但是IDE错误确实使我烦恼。

1 个答案:

答案 0 :(得分:1)

这是一个已知的IDE错误。看到YouTrack票证here