Cordova正在运行错误的Java版本。 如何让Cordova运行特定的Java版本?
[javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release
和
error: strings in switch are not supported in -source 1.5 [javac] switch (xmlData[i][1]) { [javac] ^ [javac] (use -source 7 or higher to enable strings in switch)
在使用Cordova for Android编译APK时,我正在收到警告和错误,我正在运行Java 1.5。 我不能在switch语句中使用字符串。 (编译过程错误)
我的系统是64位Windows 7.我的Cordova版本是3.5。 我正在使用git-scm。 ( http://git-scm.com/ )
- 我正在运行此命令:
cordova run android --release
。 - 我的Java环境变量将
C:\Program Files\Java\jdk1.8.0_20
列为Java目录。 - 我的路径环境变量将Java路径设置为列表中的第一项。
- 除了我刚刚从Oracle网站重新安装的内容之外,每个Java补丁和版本都被卸载。
- 我重新启动了电脑。
-
java -version
给了我java version "1.8.0_20"
。 -
javac -version
给了我javac 1.8.0_20
。 - 我的所有目标都是
=android-19
,=debug
或=release
。 -
android:minSdkVersion
总是设置为“14”,无处不在。 -
android:targetSdkVersion
总是设置为“19”,无处不在。
我如何强制Cordova运行Java 8?
要修复命令行构建,请将这些行添加(或设置适当的值,如果已存在)到ant build.xml
属性文件中(例如,如果使用Android SDK,则在${sdk.dir}/tools/ant/build.xml
):
- 右键单击您的项目(Package Explorer)并选择“ Android Tools – > Fix Project Properties ”
- 右键单击项目并选择“ 属性 – > Java编译器 ”,选中“ 启用项目特定设置 ”,然后从“ 编译器符合性设置 ”选择框中选择1.7或1.8 。
- 然后重建你的项目( 项目 – >清洁 )
我创建了2个插件,因为我遇到了同样的问题。
这个想法的学分转到了这个答案 。
- cordova-plugin- java6尝试编写Java 6。
- cordova-plugin-java7尝试编写Java 7。
您无法从npm存储库中获取这些插件,因此请使用README.md中列出的命令
它适用于我,如果它不适合你,请使用问题并在github存储库上拉取请求函数。