Proyecto Gradle: java.lang.NoClassDefFoundError: kotlin / jvm / internal / Intrinsics

Estoy trabajando en un proyecto de Java y dentro de este proyecto hice mi primer bash con Kotlin. Empecé a convertir algunas classs en Kotlin con el convertidor JavaToKoltin proporcionado en Intellij Idea. Entre otras, mis excepciones personalizadas ahora se convierten en Kotlin. Pero con esto, el event handling excepciones ya no funciona correctamente.
Si lanzo una de mis excepciones personalizadas (por ejemplo, MyCustomKotlinException.kt ) dentro del código java, la exception no queda atrapada (ver código a continuación).

 // Example.java package foo import java.util.*; import java.lang.*; import java.io.*; import foo.MyCustomKotlinException; class Example { public static void main (String[] args) { try { // Do some stuff // if Error MyCustomKotlinException e = new MyCustomKotlinException("Error Message"); throw e; } catch (MyCustomKotlinException e) { // <-- THIS PART IS NEVER REACHED // Handle Exception } catch (Throwable e) { e.printStackTrace(); <-- This is catched } finally { // Finally ... } } } 

Entonces, ¿alguien puede explicarme por qué la exception no es atrapada? MyCustomKotlinException henetworkinga de Kotlins RuntimeException , que es solo un alias de java.lang.RuntimeException .

 // MyCustomKotlinException.kt package foo class MyCustomKotlinException(err: String) : RuntimeException(err) 

Actualizar:
Dividí la parte de lanzamiento en 2 líneas (creación y lanzamiento de instancias) y descubrí que el problema no es el lanzamiento. El bloque try se deja después de la creación de la instancia. ¿Hay algún problema con la creación de mi instancia de esta class de Kotlin?

Actualización2:
Agregué un segundo bloque catch con Throwable y atrapa el siguiente Throwable.

 java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics ... Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics 

Actualización3:
Se modificó el título para corregir el error y se corrigió el problema al agregar todos los files de proyecto a jar (ver respuesta a continuación). Agregar el Kotlin runtime lib a gradle no funciona para mí.

Agregar todos los files del proyecto al file solucionó el problema. build.gradle la siguiente línea a mi build.gradle

 jar { manifest { attributes ... } // This line of code recursively collects and copies all of a project's files // and adds them to the JAR itself. One can extend this task, to skip certain // files or particular types at will from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } } 

Voy a decir que estás tratando de ejecutar el código de Kotlin sin la biblioteca kotlin-runtime

Compruebe qué sistema está usando y agregue el file jar necesario. Puede verificar que este es su problema al empacar su proyecto en un file .jar y ejecutarlo con la biblioteca de time de ejecución

Necesita configurar su proyecto con kotlin. Por lo tanto, en Android Studio: 1. click Herramientas => kotlin => Configurar kotlin en el proyecto 2. Luego, en la comprobación de dialog: Todo el module que contiene los files de kotlin 3. y select la versión 4. presione Aceptar Listo.

Tuve el mismo problema, comstackndo mi proyecto con Ant en la console. He editado kotlin-stdlib.jar en classpath y el problema se ha ido.

  • Usando un socket para un protocolo personalizado sobre tcp
  • el timer se bloquea con KotlinNullPointerException dentro del fragment
  • Configure Jackson para usar SNAKE_CASE "globalmente" en Spring Boot 2.0.0.M1
  • Lista de edición de Kotlin
  • Dagger2: instancia duplicada en DoubleCheck
  • nulo o vacío lambda como valor pnetworkingeterminado
  • ¿Cómo inyectar variables primitivas en Kotlin?
  • ¿Cuál es la causa más probable de que las excepciones escapen misteriosamente de un bloque try-catch en este caso?
  • Mostrar cambios de altura de los artículos cuando se establece la image del artículo
  • La compilation de Gradle no puede encontrar tornadofx en Linux
  • Kotlin: elementos condicionales durante la creación del map