【问题标题】:Tess4J Mac: NoClassDefFoundErrorTess4J Mac:NoClassDefFoundError
【发布时间】:2017-06-13 02:44:49
【问题描述】:

我正在尝试在我的项目中使用 Tess4J。它不包含适用于 Mac 的 .dylib 文件,因此我构建了自己的 Tesseract 并使用来自 Tesseract 构建的 .dylib。我能够毫无问题地加载本机库,并且我相信 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,而 Tess4J 的 .dll 文件名为“libtesseract3051.dll”,表明 Tess4J .jar 和.dylib.

感谢任何指导!

【问题讨论】:

    标签: java macos tesseract tess4j


    【解决方案1】:

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

    【讨论】:

    • 这在 Linux 上也对我有帮助,基本上必须包含 lib 目录。谢谢!
    • 嗨,我也有同样的问题。您是如何将整个文件夹添加为依赖项的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    相关资源
    最近更新 更多