java.lang.UnsatisfiedLinkError:找不到指定的模块

Posted

技术标签:

【中文标题】java.lang.UnsatisfiedLinkError:找不到指定的模块【英文标题】:java.lang.UnsatisfiedLinkError: The specified module could not be found 【发布时间】:2017-09-17 06:26:16 【问题描述】:

我刚刚从http://tess4j.sourceforge.net/ 下载了Tess4J 并将其导入netbeans。我正在关注this url 我正确地遵循了每一步,但是当我尝试执行时,我遇到了错误。

错误:

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: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 recognizer.Recognizer.main(Recognizer.java:17)
Java Result: 1

我搜索并发现人们建议我更新到 Visual Visual C++ Redistributable Packages for Visual Studio 2013,但结果没有帮助,我仍然遇到同样的问题。我不知道我做错了什么下面是我的代码。

代码:

import java.io.*;
import net.sourceforge.tess4j.*;

public class Recognizer 
public static void main(String[] args) 
File imageFile = new File("image.jpg");
Tesseract instance = new Tesseract();//

try 

String result = instance.doOCR(imageFile);
System.out.println(result);

 catch (TesseractException e) 
System.err.println(e.getMessage());



【问题讨论】:

latest versions 需要 Visual C++ 2015 Redistributable Packages。 @nguyenq 我试过了,我还是得到了同样的错误。 这里没有解决方案? :/ 我也有同样的问题 【参考方案1】:

似乎它没有加载本机 Dll。

    Tesseract DLL 是使用 VS2015 构建的,因此依赖于 Visual C++ 2015 Redistributable Packages。安装它。

    Tesseract、Ghostscript 和 Leptonica Windows 32 位和 64 位 DLL 分别嵌入在 tess4j.jar 和 lept4j.jar 中。因此,请确保将它们放在类路径中。

    确保您在类路径上拥有所有依赖库(这些库可以在 Your_downloaded_Tess4J_folder\lib 中找到)

    确保类路径上有“tessdata”文件夹(“tessdata”文件夹可以在 Your_downloaded_Tess4J_folder 中找到)。

    请阅读Tess4J Tutorial 以获得更好的理解。

【讨论】:

谢谢我之前解决了。但我发现你的回答很有帮助,所以我接受了它并投了赞成票。如果您觉得我的问题不错,请点赞。

以上是关于java.lang.UnsatisfiedLinkError:找不到指定的模块的主要内容,如果未能解决你的问题,请参考以下文章