微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

-source 1.6 不支持 lambda 表达式

如何解决-source 1.6 不支持 lambda 表达式

当我运行 ionic cordova build android 时,出现以下错误

D:\Projects\ionic-bt-device-application\platforms\android\src\com\moust\cordova\videoplayer\VideoPlayer.java:73: error: lambda expressions are not supported in -source 1.6
            cordova.getActivity().runOnUiThread(() -> openVideoDialog(path,options));
                                                   ^
  (use -source 8 or higher to enable lambda expressions)
D:\Projects\ionic-bt-device-application\platforms\android\src\de\appplant\cordova\plugin\background\BackgroundMode.java:314: error: lambda expressions are not supported in -source 1.6
        cordova.getActivity().runOnUiThread(() -> webView.loadUrl("javascript:" + js));
                                               ^
  (use -source 8 or higher to enable lambda expressions)
D:\Projects\ionic-bt-device-application\platforms\android\src\de\appplant\cordova\plugin\background\BackgroundModeExt.java:175: error: lambda expressions are not supported in -source 1.6
                    getApp().runOnUiThread(() -> {
                                              ^
  (use -source 8 or higher to enable lambda expressions)
D:\Projects\ionic-bt-device-application\platforms\android\src\de\appplant\cordova\plugin\background\BackgroundModeExt.java:297: error: method references are not supported in -source 1.6
                activity.runOnUiThread(dialog::show);
                                               ^
  (use -source 8 or higher to enable method references)
4 errors
:compileDebugJavaWithJavac Failed

我的java版本是8,为什么还问use -source 8

enter image description here

解决方法

lambda 只能从源 Java 8 获得。

即使 JDK 版本为 1.8,您也指示编译器将源视为 1.6。由于 1.6 语言规范没有 lambda,因此会导致错误。

来源

-源码发布

指定接受的源代码版本。

javac

编译器可以支持的语言特性由source决定(假设编译器版本高于或等于源版本)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。