【问题标题】:Loading native lib error加载本机库错误
【发布时间】:2017-03-06 19:03:46
【问题描述】:

我在 linux 上启动我的应用程序时遇到问题,从 IDE 和直接从 win everthink 是可以的,但在 linux 上我收到以下错误:

native lib Version = RXTX-2.2pre2
mar 06, 2017 7:54:44 PM org.jnativehook.DefaultLibraryLocator getLibraries
SEVERE: Unable to extract the native library /org/jnativehook/lib/linux/arm/libJNativeHook.so!

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: org.jnativehook.GlobalScreen.getAutoRepeatRate()Ljava/lang/Integer;
at org.jnativehook.GlobalScreen.getAutoRepeatRate(Native Method)
at org.jnativehook.GlobalScreen.<clinit>(Unknown Source)
at the.main.pac.TheModbusSimpleTesterWindow$1.run(TheModbusSimpleTesterWindow.java:74)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

提前感谢您的帮助

【问题讨论】:

  • 该库是否适用于正确的处理器架构?
  • 您是否尝试过它是否适用于 JNativeHook 2.1.0? 2.2pre2 看起来像一个预发布版本,可能包含错误,应该针对 JNativeHook 报告。
  • "2.2pre2" 涉及我正在使用的其他库 - "rxtx"
  • 我不确定是否支持架构 - 我正在尝试在 RPi3 上启动它

标签: java native lib


【解决方案1】:

如果在 java.library.path 属性上找不到库,则库会尝试从 Jar 中提取原始代码。如果要重新打包 Jar,则必须将库打包到 Jar 中的同一位置并完全遵守项目的 GPL 许可。该库必须作为独立库包含以符合使用 Lesser-GPL。您可以通过实现NativeLibraryLocator 接口来指定不同的库加载方法或位置。有关实现示例,请参阅DefaultLibraryLocator

【讨论】:

    猜你喜欢
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 2017-05-28
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多