【问题标题】:tess4j OCRtest JBoss ERROR java.lang.NoSuchMethodErrortess4j OCRtest JBoss 错误 java.lang.NoSuchMethodError
【发布时间】:2017-03-07 08:46:50
【问题描述】:

我的 JBoss 7.1.1 无法使用 tess4j OCR 库。我没有 Maven 配置,也不知道异常。我认为是 slf4j 日志库的冲突问题。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    String filein = getServletContext().getRealPath("/test/img/pic.png");
    File imageFile = new File(filein);
    ITesseract instance = new Tesseract();

    try{
        String result = instance.doOCR(imageFile);
        System.out.println(result);
    }catch (TesseractException e){
        System.err.println(e.getMessage());
    }

}

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].(...)facade.reports.OCRtest]] (http--0.0.0.0-8080-1) Servlet.service() para servlet (...)facade.reports.OCRtest lanzó excepción: java.lang.NoSuchMethodError: org.slf4j.bridge.SLF4JBridgeHandler.removeHandlersForRootLogger()V
at net.sourceforge.tess4j.util.LoggerConfig.loadConfig(Unknown Source) [tess4j-3.3.0.jar:]
at net.sourceforge.tess4j.util.LoggHelper.toString(Unknown Source) [tess4j-3.3.0.jar:]
at net.sourceforge.tess4j.Tesseract.<clinit>(Unknown Source) [tess4j-3.3.0.jar:]
at (...)facade.reports.OCRtest.doGet(OCRtest.java:36) [classes:]

【问题讨论】:

  • 您是否包含jul-to-slf4j JAR?
  • 是的,当然还有一些来自 tess4j 文件夹的库。

标签: java jboss ocr slf4j tess4j


【解决方案1】:

我曾经在使用 tess4j 实现 OCR 时遇到过同样的问题。我做了很多研究来解决我的问题,通过使用 slf4j 遗留实现并重新配置我的 maven 项目中使用的 log4j 属性来解决我的问题。

有一天,我在他们的官方页面中阅读了有关删除导致问题的行的信息,即 removeHandlersForRootLogger();,然后我确实从 loadderConfig.java util 文件和 Eureka 中删除了这一行!它开始工作了。

按照以下步骤操作:

  1. offical site下载整个项目。

  2. 找到tess4j\util 文件夹的路径。我的是这样的:D:\Tess4J\src\net\sourceforge\tess4j\util。然后打开loaderConfig.java 文件并删除/注释removeHandlersForRootLogger(); 行。

  3. 稍后使用 Ant 命令再次构建整个项目。由于它是一个 Apache Ant 项目,请查看 build.xml 并探索构建 ant 项目,学习新事物很有趣。

如果你没有幸运地构建项目,在包含build.xml的相应文件夹中打开cmd提示符并输入ant并回车,它将启动使用 build.xml 提要中的配置进行构建

  1. 瞧,您已经在dist 文件夹中创建了自己的 JAR。

  2. 现在将此 JAR 包含到您的项目存储库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 2016-09-10
    • 2020-06-20
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    相关资源
    最近更新 更多