2017-04-25 114 views
0

我米使用下行家Tess4J,我已经使用了POM依赖一切都在仓库的.m2下载好,我也从网上下载源锻造的tess4j JNA包装。但是什么都这样,我还在原地收到此异常:tess4j JNA UnsatisfiedLinkError

Looking in classpath from [email protected] 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 [email protected] 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但没有成功

我应该怎么办?

+1

“时抛出的Java虚拟机无法找到一个方法的适当本地语言定义声明本地人。”由javadocs判断你没有其他选择。尝试运行在详细模式下的JVM,看看它会告诉您正在寻找本地库。你的最后一句话没有多大意义 – efekctive

+2

添加Java命令行选项'-Djna.debug_load = TRUE'上看到JNA查找库。确保'-Djna.library.path'指向*目录*,而不是文件。 – cubrr

+0

@cubrr我因为在我的win10华硕添加日志到我的两台电脑工作正常和负载做得很好,但在我的第二个电脑的win7是不是,我更新了我的问题。你有什么主意吗? –

回答

0

该解决方案是为我工作,正方体或tess4j是可靠的,以vs2015正如我在一些线程没有发现不vs2013。我所做的只是安装Visual C++ 2015 Redistributable Packages。它工作正常

感谢您的帮助