【发布时间】:2019-07-17 04:55:55
【问题描述】:
我正在做一个多平台项目。
我的 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 错误真的让我很烦。
【问题讨论】:
-
youtrack.jetbrains.com/issue/KT-29433 可能是相关的。 youtrack.jetbrains.com/issues/KT 是此类问题报告的合适位置。
标签: intellij-idea kotlin gradle-kotlin-dsl kotlin-multiplatform