Tag: kotlin多平台

建立一个多平台项目

考虑Kotlin 1.2引入了kotlin-platform-common我试图建立我的第一个普通的.class文件,所以我做了如下: main.kt : package hello fun main() { println(“kotlin!”) } gradle.build : group ‘h’ version ‘prn’ buildscript { ext.kotlin_version = ‘1.2.0’ repositories { mavenCentral() } dependencies { classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” } } apply plugin: ‘kotlin-platform-common’ repositories { mavenCentral() } dependencies { compile “org.jetbrains.kotlin:kotlin-stdlib-common:$kotlin_version” } sourceSets { main.kotlin.srcDirs += ‘src/kotlin’ main.resources.srcDirs += ‘src/resources’ } jar { […]

InteliJ中的Kotlin多平台JVMtypes不匹配

我有一个包含以下模块的项目: 共同 共JS 共JVM 后端 卷筒纸 这个想法是我把我的共享(kotlin)代码(主要是模型)共同使用,可以在kotlin驱动的后端和javascript驱动的webapp中使用最近引入的多平台支持。 为此,我在Intelij中创建了一个新的多平台应用程序,并为其添加了后端和Web模块。 公共模块中的示例类: data class Show( val id: Long, val type: ShowType, val title: String, var description: String? = null ) 后端是一个简单的弹簧引导应用程序。 它依赖于common-jvm项目: compile project(“:common-jvm”) 现在,当我运行gradle bootRun ,应用程序启动并正常工作。 但是,当我尝试使用IntelliJ运行相同的应用程序时,出现如下错误: 错误:( kotlin.Long )Kotlin:types不匹配:推断的types是kotlin.Long但预期java.lang.Long 错误:( kotlin.String! )Kotlin:types不匹配:推断types是kotlin.String! 但预期java.lang.String 在这一行上,我尝试使用来自json源的数据创建Show模型的一个实例: val movie = Show(json.get(id).asLong(), ShowType.MOVIE, json.get(movieTitle).asText()) 我使用Kotlin 1.2.10和spring boot 1.5.9.RELEASE。 谁知道是什么原因造成的,以及如何解决? 我试图把-Xmulti-platform放在后端模块的项目结构的附加命令行参数中,但是这也不起作用。