kotlin - 在Kotlin中编译并运行一个简单程序时,出现错误 “no main manifest attribute”

标签 kotlin

这是程序

data class Resultado (val resultado: Int, val tesoro: Boolean)

fun main() {
        val busca =  fun(intento: Int): Resultado
        {
                val cosas = listOf( 3, 33, 333, 42, 1, 1, 111 )
                if ( intento == 4  ) {
                        return Resultado( 42, true )
                } else {
                        return Resultado( cosas[intento], false )
                }
        }

        val (valor1, premio1) = busca( 2 )
        println( "2 devuelve " + valor1 + " y tiene premio " + premio1  )
        val (valor2, premio2) = busca( 4 )
        println( "4 devuelve " + valor2 + " y tiene premio " + premio2  )

}

直接或直接正确compiles
kotlinc code/tesoro.kt -include-runtime -d tesoro.jar

将所有类型的文件保留在目录中:
ls *.class *.jar
Resultado.class  tesoro.jar  TesoroKt.class  TesoroKt$main$busca$1.class

但是,它无法运行
java -jar tesoro.jar 
no hay ningún atributo de manifiesto principal en tesoro.jar

如上所述,这意味着“没有主要 list 属性”。这是
java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

Kotlin版本是1.1.3-2

程序缺少某些内容吗?

最佳答案

确保使用最新的稳定版本。使用kotlinc 1.3.31,它可以正确运行,也可以使用fun main()

关于kotlin - 在Kotlin中编译并运行一个简单程序时,出现错误 “no main manifest attribute”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56252911/

相关文章:

java - 如何在没有POJO的情况下解析JSON

scala - 为什么 Kotlin 不允许在标识符中使用斜杠

java - 如何在 Kotlin 中使用片段内的按钮进行 Android 开发?

generics - Rx Kotlin : trying to add custom errors catching

java - 我想从三个不同的列表中获得一个结果

android - 无法在 RecyclerView.Adapter 类 Kotlin 中获取 ViewModel 实例

android - Android Kotlin-淡出 Activity 并设置持续时间

java - Kotlin中如何设计减少冗余类?

kotlin - Kotlin:调用JavaScript方法的Spread运算符

Kotlin:扩展函数的惯用用法 - 将扩展函数放在它扩展的类旁边