【问题标题】:JNativeHook Class not found未找到 JNativeHook 类
【发布时间】:2020-08-25 13:38:38
【问题描述】:

我需要一个 KeyListener,它也可以在一个集中的 GUI 组件之外工作,所以在进行研究之后,我遇到了 JNativeHook 库。但是,只要我下载 ZIB 文件(来自here)并将 jnativehook-2.1.0.jar 添加到我的 Eclipse 项目(属性 -> Java 构建路径 -> 库 -> 添加外部 Jar),就会出现错误消息运行一个测试程序。

错误:无法找到或加载主类 key.GlobalKeyListenerExample 引起:java.lang.NoClassDefFoundError: org/jnativehook/keyboard/NativeKeyListener

这是我第一次使用外部Jar,所以我想问一下我是否做错了什么,或者我需要做些什么来解决这个问题。

我的程序:

package key;

import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;

public class GlobalKeyListenerExample implements NativeKeyListener {
    public void nativeKeyPressed(NativeKeyEvent e) {
        System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));

        if (e.getKeyCode() == NativeKeyEvent.VC_ESCAPE) {
            try {
                GlobalScreen.unregisterNativeHook();
            } catch (NativeHookException e1) {
                
                e1.printStackTrace();
            }
        }
    }

    public void nativeKeyReleased(NativeKeyEvent e) {
        System.out.println("Key Released: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
    }

    public void nativeKeyTyped(NativeKeyEvent e) {
        System.out.println("Key Typed: " + e.getKeyText(e.getKeyCode()));
    }

    public static void main(String[] args) {
        try {
            GlobalScreen.registerNativeHook();
        }
        catch (NativeHookException ex) {
            System.err.println("There was a problem registering the native hook.");
            System.err.println(ex.getMessage());

            System.exit(1);
        }

        GlobalScreen.addNativeKeyListener(new GlobalKeyListenerExample());
    }
}

【问题讨论】:

    标签: java jar noclassdeffounderror jnativehook


    【解决方案1】:

    我也遇到过同样的问题。

    我的解决方案是将JNativeHook.jar 放入classpath,而不是modulepath

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 2020-10-15
      • 2019-05-07
      • 2018-04-15
      • 2014-01-12
      • 2014-04-21
      • 2017-12-16
      相关资源
      最近更新 更多