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

调用LookAndFeelFactory.installJideExtension()出现NoClassDefFoundError错误

解决java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsLookAndFeel错误

针对调用LookAndFeelFactory.installJideExtension()时出现的该错误,以下是可行的解决方向:

1. 确认JDK类型与版本

com.sun.java.swing.plaf.windows.WindowsLookAndFeel是Oracle JDK特有的类,OpenJDK中对应类的路径为sun.swing.plaf.windows.WindowsLookAndFeel。若项目使用OpenJDK,易因类路径不匹配触发错误:

  • 切换至Oracle JDK 8或更低版本(JDK9+开始模块化限制更严格);
  • 若坚持使用OpenJDK,需检查JIDE版本是否兼容OpenJDK,必要时升级JIDE到适配版本。

2. 处理JDK9+的模块化访问限制

JDK9及以上版本的模块化系统默认禁止访问com.sun.*这类内部API,需在运行时添加VM参数开放访问权限:
Oracle JDK环境使用:

--add-exports java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED

OpenJDK环境替换为:

--add-exports java.desktop/sun.swing.plaf.windows=ALL-UNNAMED

在Gradle中可在run任务里配置该参数:

tasks.withType(JavaExec) {
    jvmArgs '--add-exports', 'java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED'
}

3. 验证运行时类路径与依赖配置

  • 确保JIDE相关jar包已正确加入运行时类路径(编译通过不代表运行时依赖齐全,检查Gradle的runtimeOnly或implementation依赖配置);
  • 清理缓存后重新构建运行,执行./gradlew clean run尝试直接启动项目。

4. 调整JIDE外观安装逻辑

若上述方案无效,可手动指定系统外观后再安装JIDE扩展,避免自动加载WindowsLookAndFeel:

// 先设置系统默认外观
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
// 再安装JIDE扩展
LookAndFeelFactory.installJideExtension();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:57:14