Kotlin从CLI编译-未解决的参考

时间:2018-12-12 07:32:26

标签: apache-spark kotlin

我是Kotlin的新手。我的目标是运行用Kotlin编写的spark函数进行流和转换。我已经下载了Kotlin本机编译器,并用vim编写了这个简单的spark函数:

import org.apache.spark.SparkConf
import org.apache.spark.api.java.JavaSparkContext

fun main(args: Array<String>) {

val conf = SparkConf()
        .setMaster("yarn")
        .setAppName("Kotlin Spark Test")

val sc = JavaSparkContext(conf)
}

然后我将其另存为SparkApp.kt并使用以下命令运行编译器:

kotlinc SparkApp.kt -ib $SPARK_HOME/jars/spark-core_2.11-2.3.1.jar -o SparkApp.jar

由于错误而异常失败:

  

错误:未解决的参考:org   等等

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您不能将JVM库用作Kotlin / Native依赖项。 Kotlin / Native只能使用T(n) = Theta(1) Kotlin库,并且只能通过CInterop工具与本机库进行互操作。

JVM库只能由Kotlin / JVM使用,而Kotlin / JS和Kotlin / Native都不能使用JVM字节码库作为依赖项。

如果要改为为JVM编译程序,则肯定使用了错误的命令行工具,因为*.klib是Kotlin / Native编译器。将kotlin-native-linux-...kotlin-compiler-...用于Kotlin / JVM。并且,当然,将JVM库作为experimental-kotlin-compiler-linux-...而不是-cp传递。