Bas*_*que 16 java intellij-idea preview-feature
不幸的是,即使是 IntelliJ 的最新早期访问版本通常也不支持 Java 的早期访问版本。
\n例如,我尝试将Intellij 2022.1.1 Preview (Ultimate Edition)与基于早期访问Java 19的Project Loom实验版本一起使用。安装 JDK 通常适用于 IntelliJ。
\n但现在我想使用 Loom 特定的功能。当我调用这个实验性 Java 19 中的新方法时,我从编译器中收到以下错误:
\n\n\njava: newVirtualThreadPerTaskExecutor() 是预览 API,默认情况下处于禁用状态。
\n(使用 --enable-preview 启用预览 API)
\n
我的第一个想法是在文件 > 项目结构 > 项目设置 > 项目和\xe2\x80\xa6 模块面板上设置语言级别字段。但显然 IntelliJ 没有为这个早期访问 Java 19 的(预览)模式提供任何菜单项。
\n有没有办法让 IntelliJ 使用新的预览 API?
\n我知道错误消息的建议--enable-preview
是在某处应用的标志。但我不知道在哪里。
Bor*_*lov 18
我必须一步一步做的事情。
将IDE更新到最新版本
用 loom 下载 JVM
将 loom JDK 添加到 IDE
将其设置为项目和构建工具
将启用预览和源设置为 19 作为编译器选项来执行此操作,转到 prefs -> 编译器 -> java 编译器,取消选中 --release 选项并为特定项目全局添加以下编译器参数
--enable-preview --source 19
Run Code Online (Sandbox Code Playgroud)
这些在编译时直接传递给 javac
在运行配置上设置启用预览并添加--enable-preview
为 JVM 选项(如果没有看到它,请单击“修改选项”)
你应该很高兴去,我遇到了一个错误,有时 Gradle 抱怨它与我的 JVM 不兼容,为了解决这个问题,我必须将 Gradle VM 切换到 java 17,等待它构建,然后返回到 19
编辑:
Maven 是试验非 LTS 版本的更好选择。使用maven我遇到了零问题,Gradle到处都有一些奇怪的ifs,如果它们“不支持”某些Java-Gradle版本组合,即使它们在下面使用maven,它们也会抛出错误
我在 InteliJ IDEA Ultimate 2022.2.3 中使用 Java 19.0.1 EAP 进行巴拿马项目时遇到了同样的问题:
java: java.lang.foreign.Linker 是预览 API,默认情况下处于禁用状态。(使用 --enable-preview 启用预览 API)
没有任何 UI 技巧,将--enable preview
参数传递给 Maven 编译器插件对我来说很有效:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>19</source>
<target>19</target>
<compilerArgs>
<arg>--enable-preview</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
以下是 IDEA IntelliJ 中 --enable-preview 设置的快照:
然后,您还需要为您运行的每个程序启用预览功能。在“编辑配置”窗口中,单击“修改选项”>“AD VM 选项”,然后在其中设置标志:
现在您应该能够在启用预览功能的情况下运行您的程序。
归档时间: |
|
查看次数: |
14489 次 |
最近记录: |