Подтвердить что ты не робот

Как изменить версию Java, используемую подпроектами cordova

У меня есть проект 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 для настройки sourceCompatibility и targetCompatibility, но он просто пытается решить основной проект, а не подпроект, который я использую в моем плагине.

4b9b3361

Ответ 1

Хорошо, что сработало для меня, это добавить все подпроекты (библиотеки), которые вы используете в качестве основных библиотек проекта yout cordova.

Вот что я сделал: Скопируйте все библиотеки в библиотеки lib, перейдите в eclipse > путь сборки > порядок и экспорт > Отметьте все. После этого вам нужно создать файл build-extras.gradle в папке root/platform/android. Поместите этот код в свой файл:

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
        }
    }
}
}

Сохранение ссылок в подпроектах. Вы должны сделать ссылку из проекта и подпроекта (не знаете почему, но работали.).