gpt4 book ai didi

java - 如何更改cordova子项目使用的java版本

转载 作者:IT老高 更新时间:2023-10-28 20:42:09 28 4
gpt4 key购买 nike

我有一个 Cordova 项目,我正在为它构建一个 android 插件。然后,我的插件使用了一个使用菱形操作 (<>) 的库。我尝试运行它,但收到此错误:

diamond operator is not supported in -source 1.6
ArrayList<Node> selectedProviders = new ArrayList<>();
^
(use -source 7 or higher to enable diamond operator)

当我运行时:

$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
$ javac -version
javac 1.7.0_67

我在发布之前进行了研究,有些人通过将 ant config.xml 更改为

来解决
<property name="java.target" value="1.7" />
<property name="java.source" value="1.7" />

但它对我没有用。

我还尝试制作一个 build-extra-gradle 文件来设置 sourceCompatibilitytargetCompatibility,但它似乎可以解决主项目,而不是我在插件上使用的子项目。

最佳答案

好的,对我有用的是添加插件使用的所有子项目(库)作为你的 Cordova 项目的主库。

这是我所做的:将所有库复制到库中,转到 eclipse>build path>order and export>Mark everything。之后,你必须在你的 root/platforms/android 文件夹中创建一个 build-extras.gradle 文件。将此代码放在您的文件中:

ext.postBuildExtras = {
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
allprojects {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
}
}
}

不过,在子项目中保持引用。您必须从项目和子项目中进行引用(不知道为什么,但有效。)。

关于java - 如何更改cordova子项目使用的java版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30874824/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com