使用javacpp preset/tesseract会在退出时使java崩溃

使用javacpp preset/tesseract会在退出时使java崩溃,java,tesseract,javacpp,libgcc,Java,Tesseract,Javacpp,Libgcc,我试图使用Tesseract在Java应用程序中实现OCR功能。为了实现这一点,我使用找到的Java/Tesseract桥 pom.xml依赖项: <dependency> <groupId>org.bytedeco.javacpp-presets</groupId> <artifactId>tesseract</artifactId> <version>3.04-1.1</version>

我试图使用Tesseract在Java应用程序中实现OCR功能。为了实现这一点,我使用找到的Java/Tesseract桥

pom.xml
依赖项:

<dependency>
    <groupId>org.bytedeco.javacpp-presets</groupId>
    <artifactId>tesseract</artifactId>
    <version>3.04-1.1</version>
</dependency>
如果我运行此
main
,它将提供以下内容:

Hi!

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
下面的错误消息是:
Java(TM)平台SE二进制文件funktioniert nicht mehr–Windows在线解决问题。
Java(TM)平台SE二进制文件不再工作–Windows可以在线寻找此问题的解决方案。

我以前从未遇到过Java崩溃——但我以前也从未使用过本地版本有没有人知道该从哪里寻找解决这种奇怪行为的方法


编辑2015-12-07:通过使用,我发现有问题的DLL位于
C:\Users\…\AppData\Local\Temp\javacpp3256864312633\libgcc_s_dw2-1.DLL
,所以“路径%中的DLL错误”不是答案

libwinpthread-1.dll可能有问题

将jar中当前的libwinpthread-1.dll替换为最新的mingw32的dll,它就可以正常工作了

  • 安装从下载的msys2-x86_64-20150916.exe
  • 使用pacman安装底座devel,mingw-w64-i686-toolchain
  • 提取一个leptonica-1.72-1.1-windows-x86.jar,并将所有DLL放入应用程序的同一文件夹中
  • 从类路径中删除leptonica-1.72-1.1-windows-x86.jar
  • 从文件夹中删除libwinpthread-1.dll(或将libwinpthread-1.dll替换为已安装的C:\msys64\mingw32\bin\libwinpthread-1.dll)。 路径“C:\msys64\mingw32\bin”似乎是首先加载的,因此如果可以安装mingw32,则无需删除(或替换)它

  • 看起来MSYS2有问题:听起来这在最新版本中已经修复。SAMULUDED:我是否正确地理解了这一点,这意味着,TestSerACT库必须重新编译,错误是否存在?看起来问题在于C++运行时,我们可能需要重建。简单地用MSYS2的最新版本替换libgcc_s_dw2-1.dll也可以。哦,我现在刚得到:
    Samiel Audet==saudet
    !)如何替换dll?它位于Maven加载的一个jar中,我不知道如何在不牺牲整个Maven流程优势的情况下干预该流程。好吧,在Maven之外尝试一下,如果它起作用,我们会想出办法的。
    Hi!
    
    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application's support team for more information.
    
    Problemsignatur:
      Problemereignisname:  APPCRASH
      Anwendungsname:   java.exe
      Anwendungsversion:    8.0.650.17
      Anwendungszeitstempel:    5614685f
      Fehlermodulname:  libgcc_s_dw2-1.dll
      Fehlermodulversion:   0.0.0.0
      Fehlermodulzeitstempel:   3f263ec2
      Ausnahmecode: 40000015
      Ausnahmeoffset:   000149a1
      Betriebsystemversion: 6.1.7601.2.1.0.256.49
      Gebietsschema-ID: 1031
      Zusatzinformation 1:  7309
      Zusatzinformation 2:  73092f5dbc78923c702ae5601110d2ea
      Zusatzinformation 3:  9fa1
      Zusatzinformation 4:  9fa11625863fb37077a4ab55be352b96