java - Linuxでtess4jを使用してWebアプリケーションをデプロイする

原文 java linux tomcat tess4j

私はデータベースに保存されているドキュメントを検索する必要があります。これらのドキュメントは画像なので、この画像を読むためにtess4jを使用しました。
Eclipseを使用するWindowsでは、プロジェクトはtess4jで正常に機能します。また、Windows 7でTomcat 6.35にアプリケーションをデプロイすると、プロジェクトは正常に機能し、tess4jで正しく検索できます。
スース窓
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.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)で
com.sun.jna.Library $ Handler.invoke(Library.java:199)で
com.sun.proxy。$ Proxy5.TessBaseAPICreate(Unknown Source)で
net.sourceforge.tess4j.Tesseract.init(不明なソース)
net.sourceforge.tess4j.Tesseract.doOCR(不明なソース)
net.sourceforge.tess4j.Tesseract.doOCR(不明なソース)
net.sourceforge.tess4j.Tesseract.doOCR(不明なソース)
org.coin.bean.ged.Tess4j.extractTextFromImage(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(ネイティブメソッド)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)で
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)で
org.directwebremoting.impl.DefaultRemoter $ 1.doFilter(DefaultRemoter.java:428)で
org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)で
org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)で
org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)で
org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)で
org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
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.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)で
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)で
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)で
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)で
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)で
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)で
org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:602)で
org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)で
java.lang.Thread.run(Thread.java:745)で
---Erroring:batchId [7] message [java.lang.UnsatisfiedLinkError:function 'TessBaseAPICreate':/usr/lib/libtesseract.so.3.0.2:undefined symbol:TessBaseAPICreate]の検索エラー
答え
私はtess4jを始めたばかりですが、最初に「tesseract」をインストールする必要があるようです。私はそれが不足しているバイナリをそのディレクトリにコピーすることを賭けています。

How does one install Tesseract-OCR 3.03 in Ubuntu/Linux distributions?
関連記事

java - メソッドlistIndividual()は、「DBPedia_2014.owl」(2MBサイズのファイル)で15分以上かかります

java - Eclipse内部Webブラウザーは何も入力できませんでした

java - 2つのデータベースから一意のデータを選択する方法

java - なぜこの階乗法は1676年以降失敗するのですか?

java - Jersey 2.14:カスタムMessageBodyReaderを使用してマルチパートMIMEを受信して​​解析する方法

java - Eclipseプラグイン:画像をブラウザーに追加

java - MySQLで動的クエリを作成する方法

java - DAO Hibernate Java Select All rows to a collection

java - 列の値を変更する最も効率的な方法は何ですか?また、配列が無限に大きい場合、行にすべて同じ値があるかどうかを確認しますか? [閉まっている]

java - Java EE Beanが別のBeanに挿入される