继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

安卓软件程序开发入门学习
关注TA
已关注
手记 289
粉丝 49
获赞 282

最近使用的一个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'


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP