1

我正在开发一个 java 应用程序,我需要使用 jnativehook 库。我已经从https://code.google.com/p/jnativehook/downloads/list下载了 .zip 。当我提取这个文件夹时,有一个 bin 文件夹、src 文件夹、build.xml、build.num 和 3 个 .txt 文件。

我已通过 File -> project -> Java project from existing Ant 文件将这个库包含在我的项目中

我已经尝试了一个示例https://code.google.com/p/jnativehook/wiki/examples

但我收到以下错误

Exception in thread "main" java.lang.ExceptionInInitializerError
    at GlobalKeyListenerExample.main(GlobalKeyListenerExample.java:25)
Caused by: java.lang.RuntimeException: Unable to locate the native library.
    at org.jnativehook.GlobalScreen.loadNativeLibrary(GlobalScreen.java:462)
    at org.jnativehook.GlobalScreen.<init>(GlobalScreen.java:71)
    at org.jnativehook.GlobalScreen.<clinit>(GlobalScreen.java:53)
    ... 1 more

我应该在本机库路径中给出什么位置?

4

1 回答 1

1

查看的源代码GlobalScreen.loadNativeLibrary()java.library.path,当库未能在 上找到 DLL并尝试从 JAR 中解压缩它时,您似乎会收到此异常,但无法找到它。

解决此问题的一些选项包括:

  • 检查您正在运行受支持的平台。
  • 从 JAR 中提取正确的 DLL 并将其放在java.library.path.

要使用这个库,您只需要将 JAR 包含在您的项目中。我不喜欢你这部分问题的声音:

我已通过 File -> project -> Java project from existing Ant 文件将这个库包含在我的项目中

只需下载JNativeHook-1.1.4.zip,解压缩 ZIP 并将JNativeHook.jarJAR 添加到您的项目中。

于 2014-08-21T10:17:43.287 回答