Установка исходного уровня Java 8 в файле свойств сборки PDE - PullRequest
2 голосов
/ 30 апреля 2019

В настоящее время мы пытаемся обновить наше программное решение до Java 8 с предыдущей версии Java 6. Мы уже преуспели в том, чтобы заставить все работать и строить на наших машинах разработки, но теперь застряли на нашем сервере сборки, и не можем собратьнекоторые детали с PDE.

Мы пытались изменить несколько настроек в файле build.properties, манифесты соответствующих функций, но безрезультатно.Я также проверил, что rt.jar является версией файла java 8.

Ошибка, которую мы получаем:

Syntax error, annotations are only available if source level is 1.5 or greater

В нашем манифесте для генерации конкретного пакетаЗадача, которую мы установили:

Bundle-RequiredExecutionEnvironment: JavaSE-1.8

В файле свойств сборки для сценария сборки мы установили:

bootClasspath=${java.home}/lib/rt.jar
JavaSE-1.8= ${java.home}/lib/rt.jar
path.jre = ${java.home}
javacSource=1.8
JavacTarget=1.8

Кроме того, мы установили определенный компилятор Java 1.8 в настройках Eclipseдля проекта вместо рабочего пространства по умолчанию.

Также в конце сборки я получаю:

BUILD FAILED
    /QuickBuild/quickbuild-5.0.10/workspace/Eclipse-Builds/Client/buildscripts/buildRCP.xml:20: Java returned: 13

Я не смог найти определенный ответ, что именно вызывает возврат 13Очевидно, это может быть несовпадение 64-битного затмения и 32-битного JDK, но, возможно, также просто ошибка совместимости с Java 1.8.После настройки моего компилятора на многословный из вызывающего его скрипта Ant я смог найти строки

12:47:37,579 INFO  - [java] Override ignored for property "javacSource"
12:47:37,579 INFO  - [java] Override ignored for property "javacTarget"

Видимо, компилятор игнорирует настройки для сборки и возвращается к исходному состоянию (или использует ранее установленную где-то версию)на версии Java ниже 1.5, чтобы скомпилировать код.Кажется, я не могу выяснить, не пропустил ли это параметр или я допустил какие-либо ошибки в нашем файле build.properties.Похоже, что журнал не генерирует никаких ошибок для ложных входных данных в файле свойств.Есть ли способ проверить, что настройки, которые я установил в файле свойств, действительно используются, или я пропустил настройку?

1 Ответ

0 голосов
/ 08 мая 2019

Я выяснил, что большинство этих настроек на самом деле не использовались, поскольку сам скрипт, вызываемый PDE, просто вызывал компилятор JDT с уровнем источника, указанным в файле jdt.core.prefs проекта eclipse.Поскольку версия eclipse на нашем сервере сборки еще не поддерживает Java 8, она не может понять, как скомпилировать код Java 8, и каким-то образом должна была вернуться к исходному уровню ниже 1,5 для компиляции.В этом случае мне придется посмотреть, как заменить JDT-компилятор на более новую версию.

...