使用IntelliJ+Gradle集成LWJGL时出现lwjgl.dll未找到错误
解决LWJGL库加载失败(java.lang.UnsatisfiedLinkError)的问题
核心问题排查与修复
1. 修正模块名不匹配
你的build.gradle中配置的mainModule是com.webkriativa.noahviewer,但module-info.java里声明的模块却是org.example,模块路径不匹配会直接影响LWJGL native库的定位逻辑。
修改module-info.java的模块名:
module com.webkriativa.noahviewer { requires static lombok; requires org.lwjgl; requires org.lwjgl.glfw; requires org.lwjgl.opengl; requires org.joml; }
2. 确认JVM架构兼容性
LWJGL 3.x的Windows native库仅支持64位JVM,检查项目使用的JDK:
- 打开IntelliJ的
File > Project Structure > SDKs - 确认JDK路径指向64位版本(路径含
Program Files而非Program Files (x86)) - 若当前为32位JDK,更换为对应版本的64位JDK
3. 优化Gradle依赖配置(可选但推荐)
保留实际用到的LWJGL模块即可,冗余模块可能引发潜在冲突,同时通过BOM确保版本完全一致:
dependencies { implementation("org.joml:joml:1.10.5") compileOnly("org.projectlombok:lombok:1.18.28") annotationProcessor("org.projectlombok:lombok:1.18.28") testCompileOnly("org.projectlombok:lombok:1.18.28") testAnnotationProcessor("org.projectlombok:lombok:1.18.28") implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion") // 只保留实际用到的模块 implementation "org.lwjgl:lwjgl" implementation "org.lwjgl:lwjgl-glfw" implementation "org.lwjgl:lwjgl-opengl" // 对应native依赖 runtimeOnly "org.lwjgl:lwjgl::$lwjglNatives" runtimeOnly "org.lwjgl:lwjgl-glfw::$lwjglNatives" runtimeOnly "org.lwjgl:lwjgl-opengl::$lwjglNatives" }
4. 清理并重新构建项目
执行以下Gradle任务重置依赖与构建缓存:
- 在IntelliJ的Gradle面板中执行
clean任务 - 执行
build任务重新编译项目 - 再次运行应用
5. 分析调试输出
你已添加LWJGL调试参数,运行后查看控制台:
- 确认native库是否被成功提取到临时目录
- 检查是否有其他依赖库加载失败的具体提示
内容的提问来源于stack exchange,提问作者Salu Ramos
相关产品推荐
相关产品推荐

