在java中使用TESSERACT API时出现java.lang.UnsatifiedLinkError异常
我正在尝试使用Tesseract OCR API的Java JNA包装器,但我一直得到Java.lang.UnsatifiedLinkError异常 我从网上下载了最新版本 我确保使用32位JVM。以下是异常跟踪 线程“main”java.lang.UnsatisfiedLinkError中出现异常:找不到指定的模块 在com.sun.jna.Native.open(本机方法)在java中使用TESSERACT API时出现java.lang.UnsatifiedLinkError异常,java,api,ocr,tesseract,jna,Java,Api,Ocr,Tesseract,Jna,我正在尝试使用Tesseract OCR API的Java JNA包装器,但我一直得到Java.lang.UnsatifiedLinkError异常 我从网上下载了最新版本 我确保使用32位JVM。以下是异常跟踪 线程“main”java.lang.UnsatisfiedLinkError中出现异常:找不到指定的模块 在com.sun.jna.Native.open(本机方法) 在com.sun.jna.Native.open(Native.java:1759) 在com.sun.jna.nat
在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.getTessAPIInstance(LoadLibs.java:79)
位于net.sourceforge.tess4j.TessAPI.(TessAPI.java:40)
位于net.sourceforge.tess4j.Tesseract.init(Tesseract.java:360)
位于net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:273)
位于net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:205)
位于net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:189)
位于net.sourceforge.tess4j.Main.Main(Main.java:12) 我犯了什么明显的错误 我使用了 我添加了一个VM参数,如
jna.library.path=${pathtodll2}
,如果使用该参数,则会出现以下错误
我使用的是Test4J项目的最新版本,
版本2.0(2015年3月29日)
- 升级至Tesseract 3.03(r1050),该版本与Linux上的Tesseract 3.03RC兼容
- 重构Tesseract类以实现可扩展性和线程安全性
- 更新Tesseract 3.02的英语数据
当我尝试使用process Explorer时,我无法看到DLL正在加载,但我不确定,因为异常立即被抛出。我通过更新到解决了此问题
而且它肯定会工作4….不满意链接错误的解决方案: < >安装<强> Visual C++ 2015可重分发包<强>
你能发布你的代码吗?确保你的共享库和它的所有依赖库都在同一个目录中,并且该目录位于
jna.library.path
。什么Tess4J&Tesseract版本和操作系统?已经添加了你们要求的所有信息。它肯定是DLL没有被引用,对吗?但我不知道如何解决这个问题。我甚至尝试将DLL放在System32文件夹中,但仍然没有成功。但是我的错误消息并没有说明任何特定的dll,而是说“找不到指定的模块”。想知道发生了什么。这就是我们所做的-请看这里
package net.sourceforge.tess4j.example;
import java.io.File;
import net.sourceforge.tess4j.*;
public class TesseractExample {
public static void main(String[] args) {
File imageFile = new File("eurotext.tif");
Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping
// Tesseract1 instance = new Tesseract1(); // JNA Direct Mapping
try {
String result = instance.doOCR(imageFile);
System.out.println(result);
} catch (TesseractException e) {
System.err.println(e.getMessage());
}
}}
Error: Could not find or load main class jna.library.path=D:\OCR\Tess4J\lib\win32-x86