Java项目通过build.gradle引入JNativeHook库遇可见性错误求助
解决JNativeHook在Gradle模块化项目中导入失败的问题
核心问题:模块声明错误
你当前的module-info.java里的requires语句写法错误——requires后面必须跟完整的模块名,而非类的全限定名。JNativeHook的官方模块名是com.github.kwhat.jnativehook,不是你写的com.github.kwhat.jnativehook.keyboard.NativeKeyListener。
修正后的module-info.java
module lt.vu.cs.softwaredesign { exports lt.vu.cs.softwaredesign; requires com.github.kwhat.jnativehook; }
额外检查步骤
- 确认Gradle依赖配置无误:你当前的
dependencies块已正确引入JNativeHook 2.2.1版本,无需修改:
dependencies { implementation 'com.github.kwhat:jnativehook:2.2.1' }
- 清理并重新构建项目,避免缓存干扰:
./gradlew clean build
- 检查IDE模块配置:确保IDE(如IntelliJ IDEA)已将JNativeHook识别为模块依赖,而非普通jar包。
错误原因补充
你遇到的编译错误package com.github.kwhat.jnativehook.keyboard is not visible,本质是模块系统无法匹配到正确的依赖——错误的requires语句导致你的模块无法读取JNativeHook的模块,即便jar包已下载到本地。
内容的提问来源于stack exchange,提问作者Erlandas Aksomaitis
相关产品推荐
相关产品推荐

