Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
Spring boot kotlin springboot应用程序-为什么没有带表达式体的函数?_Spring Boot_Kotlin - Fatal编程技术网

Spring boot kotlin springboot应用程序-为什么没有带表达式体的函数?

Spring boot kotlin springboot应用程序-为什么没有带表达式体的函数?,spring-boot,kotlin,Spring Boot,Kotlin,在我的2.0.0.M6 kotlin spring boot应用程序中,当我这样做时,一切正常 fun main(args: Array<String>) { runApplication<MyApplication>(*args) } 但是找不到mainClass,IDEA也不允许我运行应用程序 fun main(args: Array<String>) = runApplication<RankedApplication>(*args)

在我的2.0.0.M6 kotlin spring boot应用程序中,当我这样做时,一切正常

fun main(args: Array<String>) {
   runApplication<MyApplication>(*args)
}
但是找不到mainClass,IDEA也不允许我运行应用程序

fun main(args: Array<String>) = runApplication<RankedApplication>(*args)
这一点都不重要,但我想知道:为什么

fun main(args: Array<String>) {
   runApplication<MyApplication>(*args)
}
返回类型从给定的表达式推断为Unit以外的内容,因为runApplication返回的内容不起作用,因为主函数必须返回Unit

返回类型从给定表达式推断为Unit以外的内容,因为runApplication返回的内容不工作,因为主函数必须返回Unit。

runApplication不返回Unit

main的签名和返回类型必须完全是:

fun main(Array<String>): Unit
因为返回类型是从表达式中推导出来的-您可以看到这不是一个有效的入口点

你的第一种方法有效,因为

fun main(args: Array<String>) {
    runApplication<MyApplication>(*args)
}
,这可能是此要求的来源-主方法的签名必须是public static void mainString[]。

runApplication不返回单位

main的签名和返回类型必须完全是:

fun main(Array<String>): Unit
因为返回类型是从表达式中推导出来的-您可以看到这不是一个有效的入口点

你的第一种方法有效,因为

fun main(args: Array<String>) {
    runApplication<MyApplication>(*args)
}
,这可能是此要求的来源-主方法的签名必须是public static void mainString[]

fun main(args: Array<String>): Unit {
    runApplication<MyApplication>(*args)
    return Unit
}
inline fun Unit(lambda: () -> Any?) {
    lambda()
}

...

fun main(args: Array<String>) = Unit { runApplication<MyApplication>(*args) }