Я использую 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.7
Constructor references are allowed only at source level 1.8 or above
Default methods are allowed only at source level 1.8 or above
Вы поняли.
Я уже использовал Alt+F5
, чтобы обновить мой проект Maven (и подпроекты) в Eclipse.Я сделал полную очистку и перестройку.
Поскольку это прекрасно компилируется с Maven в командной строке, это должно быть проблемой Eclipse, не так ли?Конечно, Eclipse пока не поддерживает все новые функции Java 11, но этот код не имеет специфических функций Java 11 .Что не так?