具有预览功能的 Maven Exec 插件

Posted

技术标签:

【中文标题】具有预览功能的 Maven Exec 插件【英文标题】:Maven Exec Plugin with Preview Features 【发布时间】:2020-07-10 08:48:37 【问题描述】:

使用--enable-preview 编译您的Java 源代码很容易:

<!-- 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'

【问题讨论】:

在 Java-12 开发期间,我记得使用 shade 插件尝试过这个,创建一个 jar 并使用 java 命令行执行,列出的步骤under this Q&A。 【参考方案1】:

问题是 exec:java 在同一个 maven java 进程中运行,默认情况下它不是以 --enable-preview 启动的。

您可以改为切换到 exec:exec,但仍然使用 exec:java 的一种方法是创建一个包含 --enable-preview.mvn/jvm.config 文件。您可以将其放在项目的根目录中并检查到 git。或者创建一个 MVN_OPS 环境变量。

参考:https://maven.apache.org/configure.html

【讨论】:

以上是关于具有预览功能的 Maven Exec 插件的主要内容,如果未能解决你的问题,请参考以下文章

带有 Java 14 的 IntelliJ 2020.1 中的“记录”预览功能在 Maven“安装”期间因编译器错误而失败,但以其他方式运行

文件预览

Mac预览怎么用 Mac预览功能实用技巧大全

附件预览功能

django上传图片并且带有预览功能

关于H5里的API,上传图片预览功能