Сборник JAR для Scala & Kotlin

Я пытаюсь создать доказательство концепции для Котлина, вызывающего код Scala.

Вот как выглядит проект на данный момент:

kotlin-src/ hello.kt scala-src/ Hello.scala 

Затем, чтобы скомпилировать оба языка:

 kotlinc kotlin-src/*.kt scalac scala-src/*.scala 

Что создает в корневом каталоге следующие файлы:

 META-INF/ main.kotlin_module HelloKt.class HelloScala.class 

Я пытаюсь превратить JAR в:

 jar cvfM run.jar *.class META-INF 

Однако он не будет работать (и я предполагаю, что это потому, что я не задаю основной класс).

 $ java -jar run.jar Error: Invalid or corrupt jarfile run.jar 

Итак, я создал следующий манифест:

 Main-Class: HelloKt 

Прежде чем компилировать банку, этот файл будет скопирован в каталог META-INF а структура полученной банки следующая:

 HelloKt.class HelloScala.class META-INF/ META-INF/main.kotlin_module META-INF/MANIFEST.MF 

Новый JAR будет выполняться, но всегда терпит неудачу с исключением во время выполнения.

 $ java -jar run.jar Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at HelloKt.main(hello.kt) Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 1 more 

Каковы оставшиеся шаги, необходимые для того, чтобы JAR скомпилировал и выполнил основной метод в классе Kotlin?

Существуют ли классы времени выполнения, которые необходимо связать с кодом Scala / Kotlin, чтобы сделать эту работу?

Solutions Collecting From Web of "Сборник JAR для Scala & Kotlin"