You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JDK 19中启用jdk.incubator.foreign包解决模块找不到问题

解决JDK 19中找不到jdk.incubator.foreign模块的问题

问题原因

JDK 19已移除jdk.incubator.foreign孵化器模块,原Foreign Function & Memory API升级为预览特性,整合到jdk.foreign模块中,部分旧孵化器API虽保留但需特殊启用才能访问。

解决方案

根据你的项目代码情况,选择以下两种方式处理:

方式1:保留旧孵化器API调用

如果项目代码仍依赖jdk.incubator.foreign下的类,启动时需添加以下参数:

  • 启用预览特性:--enable-preview
  • 显式添加孵化器模块:--add-modules jdk.incubator.foreign

完整启动命令示例:

java --enable-preview --add-modules jdk.incubator.foreign -jar 你的项目包名.jar

若项目是模块化结构,还需在module-info.java中声明依赖:

requires jdk.incubator.foreign;

方式2:迁移到JDK 19预览版标准API

为适配长期版本,建议迁移到官方推荐的新API:

  1. 将代码中import jdk.incubator.foreign.*替换为import java.lang.foreign.*(核心API已迁移至此包)
  2. 启动时仅需添加预览特性启用参数:
java --enable-preview -jar 你的项目包名.jar

模块化项目需在module-info.java中修改依赖声明:

requires jdk.foreign;

类版本不兼容问题说明

你遇到的UnsupportedClassVersionError是因为项目代码由JDK 19编译(类文件版本63.0),而JDK 17仅支持最高61.0版本的类文件,因此无法通过降级JDK解决,必须使用JDK 19或更高版本运行项目。

内容的提问来源于stack exchange,提问作者Rafe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 20:42:53