我使用Homebrew安装了Tesseract,然后编写了一个使用Tess4J进行字符识别的Java程序。通过pom.xml中的以下项,使用Maven管理Tess4J依赖项:
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>4.3.1</version>
</dependency>
该程序从命令行运行时可以正常运行,但是打包并以.jar文件运行时会崩溃:
Exception in thread "main" java.lang.NoClassDefFoundError: net/sourceforge/tess4j/Tesseract
...
Caused by: java.lang.ClassNotFoundException: net.sourceforge.tess4j.Tesseract
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
我怀疑这可能是this previous question的重复,但是这个问题的答案不足以真正帮助我。例如,我没有“ Tess4J下载”(由Maven管理),我也不确定如何在项目中包括“整个文件夹作为依赖项”。
有任何想法如何使Tess4J在Mac上的.jar应用程序中工作?