有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Tess4J Mac:NoClassDefFoundError

我试图在我的项目中使用Tess4J。它不包括。用于Mac的动态库文件,因此我已经构建了自己的Tesseract,并正在使用。来自Tesseract构建的动态库。我可以毫无问题地加载本机库,而且我相信Tess4J库链接正确,因为我可以毫无问题地导入它。但是,当我尝试使用以下方法创建Tesseract的新实例时:

Tesseract t = new Tesseract();

我得到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Pointer
    at com.ddc.fmwscanner.main.FmwScanner.main(FmwScanner.java:21)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Pointer
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

我能想到的唯一可能的问题是,我的Mac Tesseract安装版本是3.0.5,而Tesser4j是。dll文件名为“libtesseract3051.dll”,表示Tess4J之间可能存在版本不匹配。罐子和瓶子。动态库

感谢您的指导


共 (1) 个答案

  1. # 1 楼答案

    好吧,我知道了。Tess4J下载包含一个“lib”文件夹。我将整个文件夹作为依赖项包含在我的项目中,并且不再发现与NoClassDefFound相关的错误