Эта проблема исправлена ​​в Eclipse 2018-12. Обновление до этой версии решит вашу проблему.

ользую Eclipse 2018-09 (4.9.0) в Windows 10. Я использую Open JDK 11 GA. У меня есть проект Maven, который был указан как использующий исходный код Java 8.

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Это прекрасно компилируется с использованием Maven 3.5.3 в командной строке. Это также хорошо компилируется с использованием Eclipse Eclipse 2018-09 (4.9.0).

Я изменил версии компиляции Java на Java 11:

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.source>11</maven.compiler.source>
  <maven.compiler.target>11</maven.compiler.target>
</properties>

Это все еще прекрасно работает в командной строке, используя Maven 3.5.3. Но в Eclipse 2018-09 я везде получаю ошибки:

'<>' operator is not allowed for source level below 1.7Constructor references are allowed only at source level 1.8 or aboveDefault methods are allowed only at source level 1.8 or above

Вы поняли идею.

Я уже использовалAlt+F5 обновить мой проект Maven (и подпроекты) в Eclipse. Я сделал полную чистку и восстановление.

Поскольку это хорошо компилируется с Maven в командной строке, это должно быть проблемой Eclipse, не так ли? Конечно, Eclipse пока не поддерживает все новые функции Java 11, ноэтот код не имеет специфических особенностей Java 11, В чем дело?

Ответы на вопрос(0)

Ваш ответ на вопрос