为了账号安全,请及时绑定邮箱和手机立即绑定

在 POM 中使用 --enable-preview 执行 Maven 插件

在 POM 中使用 --enable-preview 执行 Maven 插件

一只斗牛犬 2023-08-09 17:02:54
我有一个自定义 Maven 插件,它利用 JDK 12 预览功能。我将插件设置编译--enable-preview为编译器参数,即<plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-compiler-plugin</artifactId>    <configuration>        <compilerArgs>            <compilerArg>--enable-preview</compilerArg>        </compilerArgs>    </configuration></plugin>当我想执行插件时,我在 POM 中添加如下插件:<plugin>    <groupId>my.group</groupId>    <artifactId>my-plugin</artifactId>    <executions>        <execution>            <phase>generate-sources</phase>            <goals>                <goal>my-goal</goal>            </goals>        </execution>    </executions></plugin>但这失败了:Preview features are not enabled for MyPluginMojo. Try running with '--enable-preview'如何在插件执行中启用预览功能?
查看完整描述

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

对我来说,我必须将配置文件添加到我的构建目录中:

.mvn/jvm.config

包含:

--enable-preview

这将确保 Maven 将正确的参数传递给 JVM


查看完整回答
反对 回复 2023-08-09
?
白衣非少年

TA贡献1155条经验 获得超0个赞

你在 pom 中犯了一个错误。<compilerArgs>采用嵌套<arg>,如下所示:


        <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-compiler-plugin</artifactId>

            <version>3.8.1</version>

            <configuration>

                <source>17</source>

                <target>17</target>

                <compilerArgs>

                    <arg>--enable-preview</arg>

                 </compilerArgs>

            </configuration>

        </plugin>


查看完整回答
反对 回复 2023-08-09
?
MYYA

TA贡献1868条经验 获得超4个赞

对于 JDK 17,这对我有用:


<plugin>

  <groupId>org.apache.maven.plugins</groupId>

  <artifactId>maven-compiler-plugin</artifactId>

  <configuration>

    <source>17</source>

    <target>17</target>

    <compilerArgs>--enable-preview</compilerArgs>

  </configuration>

</plugin>


查看完整回答
反对 回复 2023-08-09
  • 3 回答
  • 0 关注
  • 231 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信