【问题标题】:Java Applet using jacob to load com dll method getting Errormessage : NoClassDefFoundError: com/jacob/activeX/ActiveXComponentJava Applet 使用 jacob 加载 com dll 方法获取错误消息:NoClassDefFoundError: com/jacob/activeX/ActiveXComponent
【发布时间】:2013-12-05 04:10:49
【问题描述】:

我需要创建一个可以加载com方法的Applet,为此我使用java com桥(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,确保类路径正确,甚至尝试更改策略文件.. 。ETC。但是还是不行!

【问题讨论】:

    标签: eclipse dll applet jacob


    【解决方案1】:

    您已将 dll 和 jacob.jar 安装到 Java Web 容器中;不幸的是,这不是用户的网络浏览器(例如 Applet Container)。您需要将 dll 和 jacob.jar 文件添加到 applet jar 中。您可能还应该阅读this。还需要指出的是,如果您的用户安装了 64 位 jdk,或者没有运行 Windows,那么您的 Applet 将无法运行。

    【讨论】:

    • 当我签署 jar 文件并执行与您给我的链接完全相同的操作时,link 但它总是显示我指定我的别名,我无法在物理中找到我的密钥库位置,我该怎么办?
    • 试试这个来自 Oracle 的 tutorial。您必须为一个人创建您的密钥库...
    【解决方案2】:

    看看jacob提供的例子:

    例如 jacob-1.17_src.zip\jacob-1.17\samples\com\jacob\samples\applet

    这是一个很好的例子 - 它甚至有一个 readme.txt 里面有完整的描述......

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 2011-09-09
      • 2014-04-12
      • 2017-08-26
      • 1970-01-01
      • 2012-06-26
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多