摇篮项目:java.lang.NoClassDefFoundError:科特林/ JVM /内部/内部函数

FreshD:

我工作的一个Java项目,这个项目我做了我第一次尝试科特林内。我开始把一些类科特林同在的IntelliJ IDEA提供的JavaToKoltin转换器。在别人我的自定义异常,现在转换成科特林。但有了这个异常处理不起作用正确了。
如果我把我的自定义异常(例如一个MyCustomKotlinException.kt在Java代码中),这个异常没有钓到(见下面的代码)。

// 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 ...
        }
    }
}

因此,谁能向我解释为什么例外是抓不住。MyCustomKotlinException从Kotlins继承RuntimeException,这只是一个别名java.lang.RuntimeException

// MyCustomKotlinException.kt
package foo

class MyCustomKotlinException(err: String) : RuntimeException(err)

更新:
我扔的部分分成2线(例如创建和投掷),发现问题不是投掷。try块是实例创建后离开。是什么毛病我的实例创建这个科特林类的?

UPDATE2:
我添加了第二个catch块与Throwable和下面的Throwable被捕获。

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

UPDATE3:
改变了标题,以正确的错误和固定的问题,将所有项目文件的jar(见下面的答案)。添加科特林运行时的lib到gradle这个不适合我的工作。

FreshD:

添加所有项目文件的罐子修复了这个问题对我来说。添加以下行到我的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.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}

更新:改变configurations.compile.collectconfigurations.compileClasspath.collect根据下面的答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

摇篮项目:java.lang.NoClassDefFoundError:科特林/ JVM /内部/内部函数

Android的库模块在科特林发展出口到Java应用程序引起的失败的分辨率:Lkotlin / JVM /内部/内部函数

不能覆盖科特林Java函数

从Java调用一个科特林高阶函数

使用 ActivityResultContracts.GetContent() 将图像保存到内部存储。- (科特林/Java/Android)

错误科特林但只使用Java的 - 类kotlin.reflect.jvm.internal.FunctionCaller $ FieldSetter

建设有一个摇篮+科特林的Java项目9

呼吁java.lang.reflect.Proxy对象扩展功能时科特林奇怪的行为

了java.lang.RuntimeException:无法实例活动ComponentInfo的科特林MainActivity

科特林的构造函数

科特林和Java项目在Eclipse中的NoClassDefFoundError,那里是类文件?

包括与摇篮科特林DSL脚本

你如何为Java科特林静态变量和函数?

冗余SAM-构造不能消除对科特林声明的函数,但Java的作品申报功能

如何忽略在Java调用科特林时的默认值的构造函数的参数?

Java、JVM 内部结构

条纹集成在摇篮项目中使用科特林

摇篮5科特林DSL:常见任务和Maven的文物多模块项目

科特林泛型错误的Java

转换findViewById从Java到科特林

访问科特林密封类从Java

将Java测试的Mockito对科特林

在Java中使用科特林库

从Java中使用科特林单

科特林和Java @Overrides

原始转换,从科特林到Java

在科特林方式界面Java变量

科特林:未解决的参考:JAVA

图像阵列视图科特林或Java