使用javacpp preset/tesseract会在退出时使java崩溃
我试图使用Tesseract在Java应用程序中实现OCR功能。为了实现这一点,我使用找到的Java/Tesseract桥使用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>
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有问题:听起来这在最新版本中已经修复。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