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

Eclipse 22-09(JDK19运行)构建路径未知错误致编译失败

问题:Eclipse构建JDK17模块项目报错排查

我用运行在JDK19上的Eclipse 22-09构建基于JDK17的Java模块应用,命令行编译完全正常:

javac src/module-info.java src/xyz/arwhite/pki/*.java --add-exports java.base/sun.security.tools.keytool=pkix --add-exports java.base/sun.security.x509=pkix --add-exports java.base/sun.security.provider=pkix --add-exports java.base/sun.security.util=pkix --add-exports java.base/sun.security.pkcs10=pkix --add-exports java.base/sun.security.pkcs12=pkix --add-exports java.base/sun.security.pkcs=pkix --add-exports jdk.httpserver/com.sun.net.httpserver=pkix -d bin

但Eclipse始终报两个错误:

  1. 资源pkix,类型为构建路径问题;
  2. 资源pkix,类型为未知类型Java错误。

项目构建路径已关联正确的JDK17,也添加了命令行里对应的额外导出项,构建路径本身无错误提示。求可行的调试设置或日志方法排查Eclipse的问题。

附项目的module-info.java代码:

module pkix {
    requires java.base;
    requires java.net.http;
    requires jdk.httpserver;
}

排查方法

  • 启用详细编译日志
    打开Window > Preferences > Java > Compiler > Building,勾选「Enable project specific settings」(若未开启),找到「Logging」区域,勾选「Enable verbose output during compilation」,可指定日志文件路径。重新构建项目后,查看日志里的具体编译细节,定位错误根源。
  • 检查模块路径配置细节
    右键项目 → Properties > Java Build Path > Modules,确认模块名称为pkix,且已正确关联JDK17。切换到「Module Dependencies」标签,确保java.base、java.net.http、jdk.httpserver都已正确添加。
  • 手动同步额外导出项配置
    右键项目 → Properties > Java Build Path > Libraries,展开JDK17条目,选择「Module Settings」,在「Exports」标签下手动添加命令行中所有--add-exports对应的导出规则(例如java.base/sun.security.tools.keytool导出给pkix),确保每个规则都配置正确。
  • 清理重建项目
    执行Project > Clean,选择当前项目清理后,再执行Project > Build Project,排除缓存导致的异常。
  • 查看Eclipse错误日志
    打开Window > Show View > Other > General > Error Log,这里会记录Eclipse内部的详细错误信息,包括构建过程中抛出的异常,能帮助定位具体问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 23:10:31