Kotlin компиляция из Cli - неразрешенная ссылка - PullRequest
0 голосов
/ 12 декабря 2018

Я новичок в Котлине.Моя цель - запустить искровые функции, написанные на Kotlin для Streaming и Transforming.Я скачал собственный компилятор Kotlin и написал эту простую функцию spark с vim:

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 голосов
/ 12 декабря 2018

Вы не можете использовать библиотеки JVM в качестве зависимостей Kotlin / Native.Kotlin / Native может использовать только библиотеки *.klib Kotlin и взаимодействовать с нативными библиотеками с помощью инструмента CInterop.

Библиотеки JVM могут использоваться только Kotlin / JVM, и ни Kotlin / JS, ни Kotlin / Native не могут использовать библиотеки байт-кода JVM в качестве зависимостей.

Если вы хотите скомпилировать программу длявместо этого JVM, тогда вы определенно используете неправильный инструмент командной строки, так как kotlin-native-linux-... является компилятором Kotlin / Native.Используйте kotlin-compiler-... или experimental-kotlin-compiler-linux-... для Kotlin / JVM.И, конечно, передайте библиотеку JVM как -cp, а не -ib.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...