Плагин Maven Exec с функциями предварительного просмотра
Скомпилировать исходники Java с помощью --enable-preview
:
<!-- Enable preview features -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>15</release>
<compilerArgs>--enable-preview</compilerArgs>
</configuration>
</plugin>
Но как тогда бежать exec:java
? С помощью
<!-- Exec plugin.. run with `mvn exec:java` -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<configuration>
<mainClass>${mainClass}</mainClass>
<commandlineArgs>--enable-preview</commandlineArgs>
<arguments>
<argument>--enable-preview</argument>
</arguments>
</systemProperties>
</configuration>
</plugin>
По-прежнему приводит к следующей ошибке:
An exception occured while executing the Java class.
Preview features are not enabled for Main (class file version 59.65535).
Try running with '--enable-preview'
1 ответ
Решение
Проблема в том, что exec:java запускается в том же java-процессе maven, который по умолчанию не запускается с --enable-preview
.
Вместо этого вы можете переключиться на exec:exec
, но один из способов по-прежнему использовать exec:java - это создать .mvn/jvm.config
файл, содержащий --enable-preview
. Вы можете поместить это в корневой каталог вашего проекта и зайти в git. Или создайте переменную среды MVN_OPS.