2013-09-27 5 views
0

Я запускаю существующее приложение, которое в идеале должно работать нормально. Но когда я запускаю код в моей машине, следующий код генерирует исключениеNoClassDefFoundError: Не удалось инициализировать класс com.jacob.com.ComThread

ComThread.InitMTA(); 

Исключение java.lang.NoClassDefFoundError: Could not initialize class com.jacob.com.ComThread

У меня есть jacob.jar в моем пути к классам (WEB-INF \ Lib) и также разместил соответствующую DLL в моей папке Windows System32. Пожалуйста помоги.

Также мои окна 64 бит, но я запускаю 32-разрядную версию java (как для проекта, так и для eclipse).

ответ

0

Вы должны изменить версию jacob.jar, 1,11 версии попробовать

+0

Я попытался использовать версию 1.17 и она до сих пор не работали –

+0

попробовать DLL файлы в коте/бен ниже – sunysen

+0

Я попытался положить файлы dll в tomcat/bin, но он не работал –

0

Я недавно столкнулся с этой проблемой, а также. Это исключение вы увидите, когда dll jacob не найден. Это действительно бросает UnsatisfiedLinkError в статическом инициализаторе, но это не влияет на вас, пока вы не попытаетесь загрузить класс, чей статический инициализатор завершился неудачно. Для версии DLL (32 или 64 бит) требуется соответствие JVM. У вас есть несколько вариантов:

  1. Если вы используете что-то вроде Eclipse, а затем положить DLL на вашем пути к классам или добавить в конфигурацию Eclipse, выполнить другую запись с пути к классам расположения библиотеки DLL.
  2. Если вы используете webstart, вам нужно будет использовать запись nativelib для баночки, содержащей dll.
  3. Добавить местоположение вашей библиотеки DLL для виртуальной машины Java с помощью java.library.path
  4. Вы можете жёстко пути к DLL, используя jacob.dll.path
Смежные вопросы