Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Pointer

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Pointer

我正在尝试在我的 java 程序中使用 tess4j。 这是我的代码:

`import java.io.File; 
import net.sourceforge.tess4j.Tesseract; 
import net.sourceforge.tess4j.TesseractException; 

class Test { 
    public static void main(String[] args) 
    { 
        Tesseract tesseract = new Tesseract(); 
        try { 

            String text = tesseract.doOCR(new File("captcha.jpg")); 

            System.out.print(text); 
        } 
        catch (TesseractException e) { 
            e.printStackTrace(); 
        } 
    } 
}

我收到这些错误消息

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Pointer
        at Test.main(Detection.java:9)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Pointer
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 1 more

我的文件夹如下所示:

主文件夹:

  1. Detection.java

  2. lib -> 这里我有下载 tess4j 并进入 dist 文件夹后得到的 "tess4j-3.4.8.jar" 文件

  3. .captcha.jpg

我无法解决这个问题。请帮忙。

我正在使用 visual studio 代码作为我的 IDE。

tess4j 具有以下传递依赖性:

您需要将这些包含在您的类路径中。

PS: 你应该使用一些构建工具:maven 或 gradle

上述 YogendraR 解决方案有效。 您必须在项目结构中的 tess4J 文件夹的 lib 文件夹中添加 jar 文件 Project structure => Module => 依赖项。 The jars files to add

Add them here