嘿,我正在尝试使用tess4j进行tesseract,并在Mac osx上使此问题发生。
我的tesseract在终端上运行正常,但是尝试通过tesseract运行tess4j会抛出错误。
java.lang.UnsatisfiedLinkError:无法加载库“ tesseract”:本机库(darwin / libtesseract.dylib)
我在使用macport安装的opt / local / lib中确实有tessetact dylib及其名为libtesseract.dylib的文件。
谢谢你的帮助
小智 8
@maresa 几年后你的评论帮助了我,非常感谢:)有点不同的路径,也许它会对某人有所帮助:
MacOS Catalina - 10.15.3
我知道这是旧帖子。尝试使用时,我最近也遇到了这个问题Tess4J。但是,我设法找到了解决方法。我已经写了一篇关于它的文章http://www.microshell.com/programming/java/performing-optical-character-recognition-in-java/
简而言之,问题是因为tess4j-2.0.0.jar不包括MacOS库。因此,我通过执行以下步骤修改了我的Maven缓存jar:
cd /Users/user/.m2/repository/net/sourceforge/tess4j/tess4j/2.0.0 (调整您的tess4j JAR文件所在的目录)mkdir darwinjar uf tess4j-2.0.0.jar darwincp /opt/local/lib/libtesseract.3.dylib darwin/libtesseract.dylibjar uf tess4j-2.0.0.jar darwin/libtesseract.dylibjar tf tess4j-2.0.0.jar (以验证是否包含该文件)修改tess4j-2.0.0.jar文件后,我便能够运行Java程序。以下是我的MacOS版本。
user@laptop:~$ uname -a
Darwin Maresas-MacBook-Pro.local 14.3.0 Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64 x86_64
Run Code Online (Sandbox Code Playgroud)
小智 5
我有一个与 Ghost4j 非常相似的问题,即
InvocationTargetException: Unable to load library 'gs': Native library (darwin/libgs.dylib) not found in resource path
Run Code Online (Sandbox Code Playgroud)
不要修改 jar 文件,而是通过设置将 jna 指向适当的 lib 路径jna.library.path。在 Eclipse 中,您需要在运行配置中设置系统属性 - 所以在这里回答 - /sf/answers/60368381/
如果您使用的是 Maven exec:
mvn -Djna.library.path=/opt/local/lib/ exec:java -Dexec.mainClass="foo.bar.NativeThingy"
Run Code Online (Sandbox Code Playgroud)
或者
export MAVEN_OPTS="-Djna.library.path=/opt/local/lib/" && mvn exec:java -Dexec.mainClass="foo.bar.NativeThingy"
Run Code Online (Sandbox Code Playgroud)
显然,将路径设置为安装库的位置。就我而言,我运行$ locate libgs.dylib并找到了上述路径。
参考资料: https : //jna.java.net/javadoc/com/sun/jna/NativeLibrary.html
您需要在 Mac 上安装 tesseract 库。
brew install tesseract --with-all-languages
| 归档时间: |
|
| 查看次数: |
9975 次 |
| 最近记录: |