0

我的应用程序在 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
4

2 回答 2

0

我找到了解决这个问题的方法,很简单。

在我的例子中,NetBeans 使用 java 32 位,但命令提示符默认使用 java 64 版本。

当我在命令提示符中明确指出 java 32 位时,它工作正常。

于 2013-05-31T07:41:39.137 回答
0

tibrvnativesd.dll文件显然是为 32 位机器/操作系统创建的,而尝试加载它的应用程序在其上运行的机器是 64 位机器/操作系统。

找到/创建 64 位兼容 dll 或在 32 位机器上运行它...

于 2013-05-28T22:23:24.633 回答