Флаг release
эквивалентен указанию источника и цели одного и того же значения для плагина компилятора. Он поддерживает аргумент -release
для компилятора Java, начиная с Java -9.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>14</source>
<target>14</target>
</configuration>
</plugin>
Примечание : по той же причине вы можете избавиться от избыточных свойств объявлен как
<maven.compiler.source>14</maven.compiler.source>
<maven.compiler.target>14</maven.compiler.target>
Далее : Что такое флаг --release в компиляторе Java 9? | Флаг -release
в javac был добавлен в Компиляция для более старых версий платформы .
Чтобы завершить ответ над частью, в которой вы пробовали версию значение как 28
. При использовании версии Maven -
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T00:30:29+05:30)
Сообщение об ошибке очень четко показывает, что следует (если вы могли бы поделиться полными журналами в вопросе)
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project forty-bits-of-java:
Fatal error compiling: error: release version 28 not supported