2014-12-25 143 views
2

我必须搜索存储在数据库中的文档,其中这些文档是图像,所以我使用tess4j来读取这些图像。 在与Eclipse的窗口项目工作正常与tess4j,如果我部署应用程序在tomcat 6.35在Windows7项目工作正常,我可以用tess4j正确搜索。 sous windows 1)我添加jar文件在tomcat lib /共享 2)tessdata和dll文件在存储库中,我在项目中调用它们。在linux中使用tess4j部署web应用程序

在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:undefined symbol:TessBaseAPICreate at com.sun.jna.Function。(Function.java:208) at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:536) at com.sun.jna.NativeLibr在com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:499) at com.sun.jna.Library $ Handler.invoke(Library.java:199) at com.sun.proxy。$ Proxy5.TessBaseAPICreate(来源不明) 在net.sourceforge.tess4j.Tesseract.init(来源不明) 在net.sourceforge.tess4j.Tesseract.doOCR(来源不明) 在net.sourceforge。 tess4j.Tesseract.doOCR(Unknown Source) at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source) at org.coin.bean.ged.Tess4j.extractTextFromImage(Tess4j.java:55) at org.coin。 bean.ged.IndexDocument.CreateIndex(IndexDocument.java:158) at org.coin.bean.ged.searchlucene.setKeyword(searchlucene.java:40) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang中.reflect.Method.invoke(Method.java:606) at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34) at 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) at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101) at 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) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina。 core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.coin.servlet.filter.PreventInjectionFilter.doFilter(PreventInjectionFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Application FilterChain.java:206) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 的组织。阿帕奇。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) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache。 coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run( Thread.java:745) - - 错误:batchId [7]消息[java.lang.UnsatisfiedLinkError:查找函数'TessBaseAPICreate'时出错:/ usr/lib/libtessera ct.so.3.0.2:undefined symbol:TessBaseAPICreate]

+0

HI,你有没有解决这个问题,我也有Tess4j在Linux的Centos的同样的问题。谢谢! –

回答