0

我正在运行一个现有的应用程序,理想情况下应该可以正常工作。但是当我在我的机器上运行代码时,以下代码会引发异常

ComThread.InitMTA();

例外java.lang.NoClassDefFoundError: Could not initialize class com.jacob.com.ComThread

我的类路径(WEB-INF\lib)中有 jacob.jar,并且还在我的 Windows System32 文件夹中放置了相应的 dll。请帮忙。

我的 Windows 也是 64 位的,但我运行的是 32 位版本的 java(对于项目和 eclipse)。

4

2 回答 2

1

我最近也遇到了这个问题。这是您在找不到 jacob dll 时会看到的异常。它实际上是在静态初始化程序中抛出一个UnsatisfiedLinkError,但这最终不会影响您,直到您尝试加载静态初始化程序失败的类。所需的 dll 版本(32 位或 64 位)需要与 JVM 匹配。你有几个选择:

  1. 如果您使用的是 Eclipse 之类的东西,则将 dll 放在您的类路径中,或者将另一个带有 dll 位置的类路径条目添加到您的 Eclipse 运行配置中。
  2. 如果您使用的是 webstart,那么您需要使用nativelib包含 dll 的 jar 的条目。
  3. 使用将您的 dll 的位置添加到 jvmjava.library.path
  4. 您可以使用硬编码 dll 的路径jacob.dll.path
于 2016-08-14T01:47:04.540 回答
0

You need to change a jacob.jar version,1.11 version try

于 2013-09-27T23:40:55.037 回答