Spring boot kotlin springboot应用程序-为什么没有带表达式体的函数?
在我的2.0.0.M6 kotlin spring boot应用程序中,当我这样做时,一切正常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)
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) }