Я использую библиотеку tess4j для своего Java-приложения. Я следовал инструкциям и скопировал liblept168.dll и libtesseract302.dll в корневую папку моего проекта. Когда я запускаю свое приложение с Eclipse, оно работает нормально. Но когда я экспортирую его как исполняемый файл jar, он дает мне java.lang.NoClassDefFoundError - UnsatisfiedLinkError: указанный модуль не найден. Но я уверен, что программа видит эти файлы, потому что раньше, прежде чем я добавил эти файлы, она выдавала другую ошибку, что файлы не могут быть найдены. Я также копировал эти dll в свой архив jar, но это не помогло. Я абсолютно уверен, что тоже использую правильный jre. Я просто не могу понять, что может быть не так...
Tesseract1 api = new Tesseract1();
api.setTessVariable("tessedit_char_whitelist", "(),-+0123456789");
//part of code of getting image
String result = api.doOCR(image);
Любые идеи?
UPD: я отредактировал свой файл манифеста, как вы сказали, и это:
Версия манифеста: 1.0
Rsrc-Class-Path: ./ jsoup-1.7.3.jar json_simple-1.1.jar Filters.jar и i_core.jar jna-4.1.0.jar tess4j.jar jai_codec.jar jxl.jar myjsocksj.j ar jai_imageio.jar
Путь к классу: jai_imageio.jar tess4j.jar
Rsrc-Main-Class: com.slando.MainWindow
Основной класс: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Потом были ошибки про отсутствующие dll файлы и я их скопировал в jar. И тут же стала вылетать та же ошибка.
Трассировки стека:
java.lang.NoClassDefFoundError: Could not initialize class net.sourceforge.tess4j.Tesseract1
at com.slando.parser.ImageParser.getNumberFromImage(ImageParser.java:109)
at com.slando.parser.ImageParser.loadNumberFromImage(ImageParser.java:138)
at com.slando.parser.ImageParser.loadNumberFromImage(ImageParser.java:144)
at com.slando.parser.PageParser.loadPhone(PageParser.java:202)
at com.slando.parser.PageParser.loadFullInfo(PageParser.java:319)
at com.slando.HttpThread.run(HttpThread.java:58)
at java.lang.Thread.run(Unknown Source)
Еще один:
java.lang.UnsatisfiedLinkError: The specified module could not be found.
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.Native.open(Native.java:1759)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:260)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)
at com.sun.jna.Native.register(Native.java:1396)
at com.sun.jna.Native.register(Native.java:1156)
at net.sourceforge.tess4j.TessAPI1.<clinit>(Unknown Source)
at com.slando.parser.ImageParser.getNumberFromImage(ImageParser.java:109)
at com.slando.parser.ImageParser.loadNumberFromImage(ImageParser.java:138)
at com.slando.parser.ImageParser.loadNumberFromImage(ImageParser.java:144)
at com.slando.parser.PageParser.loadPhone(PageParser.java:202)
at com.slando.parser.PageParser.loadFullInfo(PageParser.java:319)
at com.slando.HttpThread.run(HttpThread.java:58)
at java.lang.Thread.run(Unknown Source)
tessdate
и указанные пакеты вместе с вашим пакетом? - person SparkOn   schedule 07.08.2014