Плагин Maven Exe c с функциями предварительного просмотра - PullRequest
1 голос
/ 30 марта 2020

Легко скомпилировать 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 Ответ

1 голос
/ 30 марта 2020

Проблема в том, что exe c: java выполняется в том же процессе maven java, который по умолчанию не запускается с --enable-preview.

Вместо этого вы можете переключиться на exec:exec, но один из способов по-прежнему использовать exe c: java - создать файл .mvn/jvm.config, содержащий --enable-preview. Вы можете поместить это в директорию root вашего проекта и проверить в git. Или создайте переменную среды MVN_OPS.

Ссылка: https://maven.apache.org/configure.html

...