我的应用程序从NetBeans运行良好,但分布式jar文件存在问题。
我已经阅读了许多类似的帖子而没有任何运气。
感谢任何想法如何解决这个问题!
C:\Users\dennis>java -jar "C:\Users\dennis\Documents\JavaApplication1\dist\JavaApplication1.jar"
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: Native library not found. Tried to load tibrvnativesd64 and tibrvnativesd
at com.tibco.tibrv.Tibrv.loadNativeLibrary(Tibrv.java:392)
at com.tibco.tibrv.Tibrv.<clinit>(Tibrv.java:79)
at COM.TIBCO.hawk.console.nest.shared.TibrvProxy.open(TibrvProxy.java:33)
at COM.TIBCO.hawk.console.hawkeye.AgentMonitor.initialize(AgentMonitor.java:342)
at javaapplication1.TrayIconDemo.createHawkConsole(TrayIconDemo.java:122)
at javaapplication1.TrayIconDemo.access$100(TrayIconDemo.java:15)
at javaapplication1.TrayIconDemo$1.run(TrayIconDemo.java:52)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: C:\tibco\tibrv\8.4\bin\tibrvnativesd.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.tibco.tibrv.Tibrv.loadNativeLibrary(Tibrv.java:389)
... 20 more
答案 0 :(得分:0)
这个tibrvnativesd.dll
文件显然是为32位机器/操作系统创建的,而试图加载它的应用程序运行的机器是64位机器/操作系统。
找到/创建64位可编码的dll或在32位机器上运行它...
答案 1 :(得分:0)
我找到了解决这个问题的方法,非常简单。
就我而言,NetBeans使用的是java 32bit,但命令提示符默认使用java 64版本。
当我在命令提示符中明确指出java 32位时,它工作正常。