tess4j jna UnsatisfiedLinkError

时间:2017-04-25 21:14:59

标签: java maven jna tess4j

我在maven下使用Tess4J,我已经使用了pom依赖项,一切都在.m2存储库中下载得很好,我还从source forge下载了tess4j jna包装器。但是我做了什么我仍然得到这个例外:

Looking in classpath from sun.misc.Launcher$AppClassLoader@73d16e93 for /com/sun/jna/win32-x86-64/jnidispatch.dll
Found library resource at jar:file:/C:/Users/user/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar!/com/sun/jna/win32-x86-64/jnidispatch.dll
Looking for library 'libtesseract305'
Adding paths from jna.library.path: C:\Tess4J\lib\win32-x86-64;C:\Tess4J\lib;C:\Users\user\AppData\Local\Temp\tess4j\win32-x86-64
Trying C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
Adding system paths: []
Trying C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
Looking for lib- prefix
Trying liblibtesseract305.dll
Looking in classpath from sun.misc.Launcher$AppClassLoader@73d16e93 for libtesseract305
Found library resource at jar:file:/C:/Users/user/.m2/repository/net/sourceforge/tess4j/tess4j/3.3.1/tess4j-3.3.1.jar!/win32-x86-64/libtesseract305.dll

Exception in thread "main" java.lang.UnsatisfiedLinkError: Le module spécifié est introuvable.

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.Library$Handler.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:412)
at com.sun.jna.Native.loadLibrary(Native.java:391)
at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:75)
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42)
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196)
at com.mycompany.mavenproject1.NewClass.main(NewClass.java:20)

我尝试将-Djna.library.path添加到我的libtessract305.dll但没有成功

我该怎么办?

2 个答案:

答案 0 :(得分:1)

这取决于您当前使用的是哪个版本的Tess4j。

让我们说, 版本 3.2.1 2010 VC ++ 配合得很好,但适用于 版本 3.4.1 ,您需要升级到VC ++ 2013。

它完全是关于DLL与VC ++版本的兼容性。 使用Visual C ++ 2017 Redistributable for Tess4J 4.x。

答案 1 :(得分:0)

这个解决方案对我有用,tesseract或tess4j对于vs2015而不是vs2013是可靠的,正如我在某些线程中所发现的那样。我所做的只是安装Visual C ++ 2015 Redistributable Packages。它工作正常

感谢您的帮助