不幸的是,即使是 IntelliJ 的最新早期访问版本通常也不支持 Java 的早期访问版本。
例如,我正在尝试使用Intellij 2022.1.1预览版(终极版)与实验构建 https://jdk.java.net/loom/ of 织机计划 https://wiki.openjdk.java.net/display/loom/Main基于抢先体验Java 19 https://en.wikipedia.org/wiki/Java_version_history#Java_19。安装 JDK 通常适用于 IntelliJ。
但现在我想使用 Loom 特定的功能。当我调用这个实验性 Java 19 中的新方法时,我从编译器中收到以下错误:
java: newVirtualThreadPerTaskExecutor() 是预览 API,默认情况下处于禁用状态。
(使用 --enable-preview 启用预览 API)
我的第一个想法是设置语言水平上的字段文件 > 项目结构 > 项目设置 > 项目 and … 模块面板。但显然 IntelliJ 不提供任何菜单项(预览)此早期访问 Java 19 的模式。
???? 有什么方法可以让 IntelliJ 使用新的预览 API 吗?
我知道错误消息的建议--enable-preview
意味着在某个地方应用了一个标志。但我不知道在哪里。
我必须一步一步做的事情。
将IDE更新到最新版本
用 loom 下载 JVM
将 loom JDK 添加到 IDE
将其设置为项目和构建工具
将启用预览和源设置为 19 作为编译器选项为此,请转到 prefs -> 编译器 -> java 编译器,取消选中 --release 选项并为特定项目全局添加以下编译器参数
--enable-preview --source 19
这些在编译时直接传递给 javac
在运行配置上设置启用预览并添加--enable-preview
作为 JVM 选项(如果您没有看到它,请单击“修改选项”)
你应该很高兴去,我遇到了一个错误,有时 Gradle 抱怨它与我的 JVM 不兼容,为了解决这个问题,我必须将 Gradle VM 切换到 java 17,等待它构建,然后返回到 19
EDIT:
Maven 是试验非 LTS 版本的更好选择。使用maven我遇到了零问题,Gradle到处都有一些奇怪的ifs,如果它们“不支持”某些Java-Gradle版本组合,即使它们在下面使用maven,它们也会抛出错误
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)