kotlin支持jdk1.8编译,使用Java8特性

最近使用的一个jar包里面用到了java8 中接口的 static方法。这样编译的时候在gradle的build文件中要添加一点配置才行。 
普通的java工程在build.gradle中添加如下配置就可以了:

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

这样java8的新特性也是可以正常编译了,但是上面的配置只是针对java代码的编译,kotlin代码编译的时候依然是使用的jdk1.6在编译。 
要想kotlin也用jdk1.8编译,需要添加kotlin相关的编译配置,如下:

kotlinOptions {
        jvmTarget = '1.8'
    }

如果没有加上面的设置,老版本的kotlin可以编译,但是运行时会报错,新版本的kotlin编译时就会报错:

Error:(20, 31) Calls to static methods in Java interfaces are prohibited in JVM target 1.6. Recompile with '-jvm-target 1.8'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值