Java tesseract/tesjeract在实例化时使应用程序崩溃

Java tesseract/tesjeract在实例化时使应用程序崩溃,java,dll,crash,ocr,tesseract,Java,Dll,Crash,Ocr,Tesseract,我想在Java中使用tesseract,因为我需要为我的ImageJ插件执行OCR。因此,我使用Java包装器“tesjeract”。然而,当我实例化new Tesjeract(“eng”)ImageJ时,没有给出任何信息 加载库似乎是可行的,因为当我没有实例化new Tesjeract(“eng”)并运行同一个插件两次时,第二次收到未满足的链接错误:本机库C:\Windows\System32\tessdll.dll已加载到另一个类加载器中 有什么想法吗?我能做些什么来解决这个问题 如果相关的

我想在Java中使用tesseract,因为我需要为我的ImageJ插件执行OCR。因此,我使用Java包装器“tesjeract”。然而,当我实例化
new Tesjeract(“eng”)
ImageJ时,没有给出任何信息

加载库似乎是可行的,因为当我没有实例化
new Tesjeract(“eng”)
并运行同一个插件两次时,第二次收到
未满足的链接错误:本机库C:\Windows\System32\tessdll.dll已加载到另一个类加载器中

有什么想法吗?我能做些什么来解决这个问题

如果相关的话,我使用的是64位Windows 7,但已将ImageJ配置为使用32位JVM,因为tesseract仅作为32位dll可用。我正在静态块中加载DLL,它们都放在C:\Windows\System32文件夹中

static
{
    System.loadLibrary("tessdll");
    System.loadLibrary("tesjeract");
}
编辑:

如果发现有人在C++中遇到类似的问题,解决方法是语言文件丢失。我想这也是我的问题所在

这是目录的外观(已找到):


ImageJ配置为使用
C:\ProgramFiles(x86)\Java\jre7\bin\javaw.exe
。因此,我将包含tessdata文件夹的DLL放在同一目录中,并从System32中删除了这些DLL。不过,应用程序还是崩溃了

*.traineddata是tess 3.x的语言数据。对于2.x,您将需要一个,例如。

现在我的tessdata文件夹看起来与上面描述的完全一样,但仍然会崩溃。如果仍然不满意LinkError,请确保.dll文件位于程序正在查找的路径中。如果您仍然有问题,您可能想看看Tess4J,它是另一个Java包装器,可能更易于使用。dll位置很好。当我执行插件并且只加载库而不执行任何代码时,我没有收到任何错误<代码>新Tesjeract(“eng”)
导致问题。但是现在有了正确的语言文件,我看不出还有什么问题。
project.exe
tessdll.dll
tessdata ----- eng.DangAmbigs
            |- eng.freq-dawg
            |- eng.inttemp
            |- eng.normproto
            |- eng.pffmtable
            |- eng.unicharset
            |- eng.user-words
             - eng.word-dawg