当前位置: 首页 > 知识库问答 >
问题:

在Java中使用TESSERACT API时出现UnsatisfiedLinkError异常

蒙墨竹
2023-03-14

我正在尝试使用Java JNA包装器来实现Tesseract OCR API,但我一直得到Java.lang.UnsatisfiedLinkError异常

我从http://sourceforge.net/projects/tess4j/下载了最新版本

我确保使用了32位JVM。下面是异常跟踪。

   Exception in thread "main" java.lang.UnsatisfiedLinkError: The specified module could not be found.

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:79)
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:40)
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:360)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:273)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:205)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:189)
at net.sourceforge.tess4j.Main.main(Main.java:12)

我使用了http://tess4j.sourceforge.net/codesample.html" target="_blank">html中的示例代码

包net.sourceforge.tess4j.example;

导入java.io.file;导入net.sourceforge.tess4j.*;

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

我在Windows7,32位机器上运行它。Java 7。

当我尝试使用process Explorer时,我无法看到DLL正在加载,但我不确定,因为异常会立即抛出。

共有1个答案

于飞飙
2023-03-14

我通过更新到Visual Studio 2013的Visual C++可再发行包来解决此问题

VS2012的Visual C++可再发行版是不够的。

这个工具:http://www.dependencywalker.com/帮助我找到了问题。

 类似资料:
  • 我正在尝试使用Jprofiler的离线分析API将Jprofiler 8.1.4与jenkins集成。下面是写入的程序 > 开始JProfiler录制。 保存快照。 停止JProfiler录制。 导入java。io。文件导入java。io。IOException; 公共类TestJenJPIntegration{public static Connection connObj=null;publi

  • 问题内容: 首先,我有一个在主要方法中运行的OpenCV的基本示例。但是,如果我在Spring Web Controller中使用OpenCV,则会引发错误。 在STS(Spring Tool Suite)的 Tomcat 服务器中运行以下代码时,出现UnsatisfiedLinkError异常,并将问题归结为以下代码: 服务器和“主”应用程序的运行配置都包含指向OpenCV DLL的VM参数:

  • 问题内容: 我试图延迟-或使我的Java程序进入睡眠状态,但是发生错误。 我无法使用或。出现相同的错误消息: 未报告的异常java.lang.InterruptedException; 必须被抓住或宣布被抛出。 使用 or 方法之前,是否需要任何步骤? 问题答案: 你前面有很多阅读材料。从编译器错误到异常处理,线程和线程中断。但这将满足你的要求:

  • 我在Oracle中有下面的SQL语句,这让我有些头疼。如果Oracle表中的值为null,我尝试返回一个空几何体,但是它失败了,出现以下错误: 错误 ** ORA-29532:Java调用被unpper终止Java异常:java.lang.NullPointerExcema ORA-06512: at"MDSYS.SDO_UTIL",第2421行ORA-06512: at"MDSYS.SDO_UT

  • 我试图使用继承使用这个项目https://github.com/Baeldung/spring-security-registration 这是我的用户 还有一些子类,比如UserAdmin 那么我的角色课是这样的 但我在注册用户时遇到了这个错误 o、 h.LazyInitializationException:未能延迟初始化角色com的集合。贝尔东。坚持不懈模型角色用户,无法初始化代理-无会话

  • 问题内容: MyClass.java: 编译MyClass.java文件的SimpleCompileTest.java的清单。 SimpleCompileTest.java: 我正在执行SimpleCompileTest类并获取NullPointerException。ToolProvider.getSystemJavaCompiler()返回null。有人可以告诉我代码有什么问题吗 问题答案: