簡體   English   中英

在Linux中使用tess4j部署Web應用程序

[英]deploy web application using tess4j in linux

我必須搜索存儲在數據庫中的文檔,其中這些文檔是圖像,因此我使用tess4j讀取了這些圖像。 在帶有eclipse的Windows中,該項目可以與tess4j一起正常工作,如果我在Windows7的tomcat 6.35中部署應用程序,則該項目也可以正常工作,並且我可以使用tess4j進行正確搜索。 sous windows 1)我將jar文件添加到tomcat lib / shared中2)tessdata和dll文件在存儲庫中,並在項目中調用它們。

在Linux環境中,我做同樣的事情,而我得到的第一個錯誤是

- Native library (linux-x86/libtesseract.so) not found in resource lib/shared/*

我將libtesseract.so和tessdata添加到此路徑,現在出現另一個錯誤:

java.lang.UnsatisfiedLinkError:查找函數'TessBaseAPICreate'時出錯:/usr/lib/libtesseract.so.3.0.2:未定義符號:TessBaseAPICreate位於com.com.sun.jna.Function。(Function.java:208)。 com上的sun.jna.NativeLibrary.getFunction(NativeLibrary.java:536)在com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:513)com上的sun.jna.NativeLibrary.getFunction(NativeLibrary.java:499) .sun.jna.Library $ Handler.invoke(Library.java:199)位於com.sun.proxy。$ Proxy5.TessBaseAPICreate(未知來源)位於net.sourceforge.tess4j.Tesseract.init(未知來源)位於net.sourceforge net.sourceforge.tess4j.net的.tess4j.Tesseract.doOCR(未知源)org.coin.bean.ged.Tess4j.extractTextFromImage的net.sourceforge.tess4j.Tesseract.doOCR(未知源) (Tess4j.java:55)在org.coin.bean.ged.IndexDocument.CreateIndex(IndexDocument.java:158)在org.coin.bean.ged.searchlucene.setKeyword(searchlucene.java:40)在sun.reflect。 NativeMethodAccessorImpl.invoke0(本機方法)位於 位於org.directwebremoting的java.lang.reflect.Method.invoke(Method.java:606)處的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)處的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)上的org.directwebremoting.impl.DefaultRemoter $ 1.doFilter(DefaultRemoter.java:428)上的.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34) org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)位於org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)位於.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283) org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)org.coin.servlet.filter.PreventInjectionFilter.doFilter(PreventInjectionFilter.java:30)org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235)位於org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)位於org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)位於org.apache。 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)上的catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102),位於org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293),位於org.apache.catalina.connectv.org.apache.catalina.core.StandardEngineValve.java:109,位於org.apache.coyote.http11.Http11Processor .process(Http11Processor.java:859)在org.apache.coyote.http11.Http11Protocol $ org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)的Http11ConnectionHandler.process(Http11Protocol.java:602)-java.lang.Thread.run(Thread.java:745)的- -錯誤:batchId [7]消息[java.lang.UnsatisfiedLinkError:查找函數'TessBaseAPICreate'時出錯:/usr/lib/libtesseract.so.3.0.2:未定義的符號:TessBaseAPICreate]

我剛剛開始使用tess4j,但看來您可能需要先安裝“ tesseract”。 我敢打賭,它將丟失的二進制文件復制到該目錄中。

如何在Ubuntu / Linux發行版中安裝Tesseract-OCR 3.03?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM