我需要创建一个可以加载 com 方法的 Applet,为此我使用了 java com bridge (jacob) 处理 com dll,我的环境设置如下:
- 操作系统:win7x64
- IDE:Eclipse32位版本
- COM DLL:BPIKeyCOM.dll 32 位版本
- com网桥:jacob1.17-32bit版本
- 服务器:Tomcatv7.0
我将 jacob.dll 放在 C:\Windows\System32 下,将 jacob.jar 放在 WEB-INF\lib 下
当我运行该项目时,它在 Eclipse 中运行良好。但是在web上部署时,出现如下错误信息:
java.lang.NoClassDefFoundError: com/jacob/activeX/ActiveXComponent
at Fmain.Ikeycheck(Fmain.java:180)
at Fmain.init(Fmain.java:73)
at sun.applet.AppletPanel.run(AppletPanel.java:435)
at java.lang.Thread.run(Thread.java:724)
Caused by:
java.lang.ClassNotFoundException: com.jacob.activeX.ActiveXComponent
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:219)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:152)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)...
看起来这条消息正在谈论它找不到com/jacob/activeX/ActiveXComponent.class
,但我不明白如何。
我已经搜索了很多解决方案并试图解决它,但它仍然一直显示这个错误消息,我用来做 sigh jar,确保类路径正确,甚至尝试更改策略文件......等等。但是,它仍然不起作用!