【问题标题】:NoSuchFieldError: RESOURCE_PREFIX when using Tess4J with EclipseNoSuchFieldError:将 Tess4J 与 Eclipse 一起使用时的 RESOURCE_PREFIX
【发布时间】:2015-10-12 12:02:26
【问题描述】:

我曾尝试在 Eclipse 中使用 Tess4J,但它导致标题中出现错误。我导入了这些 jar 文件:tess4j、jai_imageio 和 jna。我编写的测试代码是按照他们的示例页面上给出的示例。

                File DMTfile = new File(System.getProperty("user.dir")+"\\DMTcap.bmp");
                BufferedImage DMTcap = ImageIO.read(DMTfile);Tesseract instance = new Tesseract();

                String result = "";
                try {
                    result = instance.doOCR(DMTcap);
                } catch (TesseractException e2) {
                    e2.printStackTrace();
                }
                System.out.println(result);

完整的错误如下:

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchFieldError: RESOURCE_PREFIX
at net.sourceforge.tess4j.util.LoadLibs.<clinit>(Unknown Source)
at net.sourceforge.tess4j.TessAPI.<clinit>(Unknown Source)
at net.sourceforge.tess4j.Tesseract.init(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at DMT$10.actionPerformed(DMT.java:516)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

我该如何解决这个问题?

【问题讨论】:

    标签: java eclipse ocr tesseract tess4j


    【解决方案1】:

    Platform.RESOURCE_PREFIX 是 JNA 常量。确保使用适当版本的 JNA (4.1.0)。

    还可以查看这篇文章中的答案:NoSuchFieldError: RESOURCE_PREFIX with a maven project using tess4j

    【讨论】:

    • 这是针对我的问题的正确引用吗? “2/ tess4j 对 com.sun.jna:jna:jar:3.0.9 具有传递依赖性,与 net.java.dev.jna:jna:jar:4.1.0(也来自 tess4j)冲突,不包括 3.0.9 版本使一切正常,RESSOURCE_PREFIX 错误来自那个“我确保我的 JNA 库是 4.1.0 并直接从 maven 站点下载。当 Sliders_Alpha 声明我需要删除 3.0.9 版本时,这是什么意思?
    • 可能在你的设置中,它包含两个jna.jar,两个都包含com.sun.jna.Platform类,但一个没有RESOURCE_PREFIX常量。尝试确定并保留支持RESOURCE_PREFIX的那一项,排除另一项。
    • 谢谢!我意识到 JHook.jar 中也有 JNA。这通过删除额外的 JNA.jar 解决了我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 2013-11-11
    相关资源
    最近更新 更多