如何解决-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
?
解决方法
lambda 只能从源 Java 8
获得。
即使 JDK 版本为 1.8
,您也指示编译器将源视为 1.6
。由于 1.6
语言规范没有 lambda,因此会导致错误。
来源
-源码发布指定接受的源代码版本。
编译器可以支持的语言特性由source
决定(假设编译器版本高于或等于源版本)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。