2017-03-06 127 views
1

我有我的开始在Linux上的应用程序,从IDE直接从胜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) 

感谢您的帮助提前

+0

库是否为正确的处理器架构? – Henry

+0

您是否尝试过使用JNativeHook 2.1.0? 2.2pre2看起来像预发布版本,可能包含错误,应该针对JNativeHook报告。 – cello

+0

“2.2pre2”涉及我正在使用的其他库 - “rxtx” – piotrekotw

回答

0

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