Java tess4j jna未满足链接错误

Java tess4j jna未满足链接错误,java,maven,jna,tess4j,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:

我在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)
从sun.misc.Launcher查看类路径$AppClassLoader@73d16e93for/com/sun/jna/win32-x86-64/jnidispatch.dll
在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
正在查找库“libtesseract305”
从jna.library.path添加路径:C:\Tess4J\lib\win32-x86-64;C:\Tess4J\lib;C:\Users\user\AppData\Local\Temp\tess4j\win32-x86-64
正在尝试C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
正在添加系统路径:[]
正在尝试C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
查找lib-prefix
正在尝试libtesseract305.dll
从sun.misc.Launcher查看类路径$AppClassLoader@73d16e93对于libtesseract305
在jar:file:/C:/Users/user/.m2/repository/net/sourceforge/tess4j/tess4j/3.3.1/tess4j-3.3.1.jar找到库资源/win32-x86-64/libtesseract305.dll
线程“main”java.lang.UnsatifiedLinkError中出现异常:Le模块spécifiéest可插入。
位于com.sun.jna.Native.open(本机方法)
位于com.sun.jna.Native.open(Native.java:1759)
位于com.sun.jna.nativellibrary.loadLibrary(nativellibrary.java:260)
位于com.sun.jna.nativellibrary.getInstance(nativellibrary.java:398)
位于com.sun.jna.Library$Handler。(Library.java:147)
位于com.sun.jna.Native.loadLibrary(Native.java:412)
位于com.sun.jna.Native.loadLibrary(Native.java:391)
位于net.sourceforge.tess4j.util.LoadLibs.getTestSapiInstance(LoadLibs.java:75)
位于net.sourceforge.tess4j.TessAPI.(TessAPI.java:42)
位于net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367)
位于net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280)
位于net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212)
位于net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196)
位于com.mycompany.mavenproject1.NewClass.main(NewClass.java:20)
我试图将-Djna.library.path添加到libtessract305.dll,但没有成功


我该怎么办?

这个解决方案对我有效,tesseract或Tesser4j对vs2015是可靠的,而不是像我在一些线程中发现的那样对vs2013是可靠的。我所做的只是安装VisualC++ 2015可重分发软件包。而且效果很好


感谢您的帮助

这取决于您当前使用的Tess4j版本

比方说, 版本3.2.12010 VC++上运行良好,但是 版本3.4.1,需要升级到VC++2013

它的全部内容都是关于DLL与VC++版本的兼容性。
如果VisualC++ 2017可以重新分配TES4J 4。X.< /P>如果java虚拟机找不到一个声明本地的方法的适当的本地语言定义,那么抛出。“JavaDoc判断,您没有很多其他选项。尝试在详细模式下运行jvm,看看它是否告诉您在哪里查找本机库。您的最后一句话没有多大意义,请使用Java命令行选项
-Djna.debug\u load=true
查看JNA在哪里查找库。确保
-Djna.library.path
指向目录,而不是文件。@cubrr我将日志添加到了我的两台计算机上,因为在我的win10中,asus工作正常,负载完成得很好,但在我的第二台pc中,win7没有,我更新了我的问题。你知道吗?