¿Cómo usar el command `java` con` kotlin-compiler.jar` para comstackr los códigos fuente de Kotlin?

Ahora estoy limitado a usar el command java para comstackr un file fuente de Kotlin.

Entonces, después de algunos bashs, encontré un file kotlin-compiler.jar en la carpeta lib/ en kotlinc/ .

Entonces traté de escribir un file kotlinc/lib/ en kotlinc/lib/ :

 public fun main(args: Array<String>) { println("hello") } 

Y luego, java -jar kotlin-compiler.jar Hello.kt el command java -jar kotlin-compiler.jar Hello.kt que funcionó y generó un file de class HelloKt.class .

Como resultado, java -cp ".:kotlin-runtime.jar" HelloKt el command java -cp ".:kotlin-runtime.jar" HelloKt , y también funcionó:

 [xxxxxxx@uss lib]$ java -cp ".:kotlin-runtime.jar" HelloKt hello 

Pero, para un file fuente más complicado:

AimToTen.kt:

 class AimToTen() { fun need(marks: Array<Int>): Int { // multiply 10 first for (idx: Int in marks.indices) marks[idx] *= 10 val result: Int = 190 * marks.size - 2 * marks.sum(); return when { result < 0 -> 0 result % 10 != 0 -> result / 10 + 1 else -> result / 10; } } } 

Intenté ejecutar java -jar kotlin-compiler.jar AimToTen.kt , pero algunas funciones se perdieron (?):

 [xxxxxxx@uss intro1]$ java -jar kotlin-compiler.jar AimToTen.kt AimToTen.kt:4:32: error: unresolved reference: indices for (idx: Int in marks.indices) marks[idx] *= 10 ^ AimToTen.kt:10:56: error: unresolved reference: sum val result: Int = 190 * marks.size - 2 * marks.sum(); ^ 

Así que lo intenté de nuevo:

 [xxxxxxx@uss intro1]$ java -jar kotlin-compiler.jar Welcome to Kotlin version 1.0.3 (JRE 1.8.0_65-b17) Type :help for help, :quit for quit >>> println(123) error: unresolved reference: println println(123) ^ >>> var test: IntArray = intArrayOf(1, 2) >>> test [I@7d64e326 >>> 

Además, en otra carpeta, Hello.kt no se puede comstackr incluso si copié todos los files .jar en la misma carpeta.


Ehh, lo agradezco si me pueden ayudar con este problema. Quiero comstackr este file con el command java , sin routes absolutas.

PS El uso de kotlinc AimToTen.kt funciona.

Como se indica en los documentos , la línea para comstackr un file de Kotlin es

 $ kotlinc hello.kt -include-runtime -d hello.jar 

Por cierto, si estás tratando de aprender / probar Kotlin en la línea de command (¡que no deberías!), Puedes considerar http://try.kotlinlang.org/