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

java.lang.不满意链接错误: 找不到指定的模块

通宾白
2023-03-14

我刚从下载了Tess4Jhttp://tess4j.sourceforge.net/并将其导入到netbeans中。我遵循这个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 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());
}
}
}

共有1个答案

刘运浩
2023-03-14

似乎没有加载本机Dll。

> < Li > < p > tessera CT dll是使用VS2015构建的,因此依赖于Visual C 2015可再发行软件包。安装它。

Tesseract、Ghostscript和Leptonica Windows 32位和64位DLL嵌入在tess4j中。jar和lept4j。罐子。因此,确保它们在类路径上。

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

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

请阅读Tess4J教程以更好地理解。

 类似资料:
  • 这个问题有点像Q1和Q2。 我的Java代码使用JNA加载本机库,如下所示: 我的终端输出打印行号和库文件位置,如下所示: ^:在我的Java代码的第76行,Native.loadLibrary抛出了一个UnsatisfiedLinkError。^ > 我排除了混淆 32 位和 64 位库的可能性,因为我在 32 位 Windows 机器上使用 32 位 Java 编译了本机库和 Java 代码,

  • 问题内容: 我想创建一个简单的JNI层。我使用Visual Studio 2008创建了一个dll(带有DLL作为选项的Win 32 Console Application项目类型)。我在调用本地方法时收到此异常: 生成的头文件是: 实现文件是: Java文件是: 当我调用本地方法“ Hello”时,我得到执行。 我观察到的另一件事是,当我使用以下命令在命令行中进行编译时:“ cl -I” C:\

  • 我正在尝试运行下面的Java 3D示例代码。我指的是3个罐子和1个dll文件夹。他们的名字如下 维玛特.jar j3d-core-1.3.1.jar j3dutils.jar j3dcore-ogl.dll(我也尝试过引用一个 jar 文件而不是这个 dll 文件。jar 文件是 j3dcore-d3d_dll.jar)。 我还尝试将它们放在jdk和jre的bin和lib文件夹中。 我还在名为“P

  • 我在stackoverflow上四处寻找类似的问题,但我找到的解决方案似乎都不适合我。我在一台Linux /Ubuntu机器上。我只是在练习JNI,但我发现了这个错误: 我提供了我的 .c、.h 和 .java文件。 .java文件: .c文件: .h 文件: 我使用这些命令生成. h文件,编译/生成. so文件,然后运行: JAVACnativetest.java javah-jni nativ

  • 问题内容: 我尝试从MySQL工作台连接到最新的MySQL服务器8.0.11,但错误不断弹出:无法连接到MySQL服务器,身份验证插件:caching_sha2_password:找不到指定的模块。 我尝试在线观看MySQL服务器安装视频,并准确地复制了每个步骤,但是错误仍然存​​在。 任何帮助是极大的赞赏。 问题答案: 我有以下解决方案:在这样的部分中更改 my.ini: 在命令行客户端的roo

  • 我试图编写一个简单的Java程序,通过JNI调用C函数来打印“Hello World”。一切编译都没有错误,但当我运行程序时,我得到一个“UnsatisfiedLinkError:找不到依赖库”。 根据Dependency Walker和dumpbin的说法,唯一的依赖项是“kernel32.dll”,在C:\Windows\System32及其依赖项中,也在System32中。 使命感 返回时没