2017-06-13 5 views
2

私のプロジェクトでTess4Jを使用しようとしています。それはMac用の.dylibファイルを含んでいないので、自分自身のTesseractを構築し、Tesseractビルドの.dylibを使用しています。私は問題なしでネイティブライブラリを読み込むことができます。私はそれを問題なくインポートすることができるので、Tess4Jライブラリが適切にリンクされていると思います。しかし、私がしようとしたときに使用したTesseractの新しいインスタンスを作成するには:Tess4J Mac:NoClassDefFoundError

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Pointer 
    at com.ddc.fmwscanner.main.FmwScanner.main(FmwScanner.java:21) 
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Pointer 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 

私は考えることができる唯一の可能性の問題は、私のMacたTesseractがインストールすることです:

Tesseract t = new Tesseract(); 

を私は次のエラーを取得していますバージョンは3.0.5ですが、Tess4Jの.dllファイルの名前は "libtesseract3051.dll"で、Tess4J .jarと.dylibの間にバージョンの不一致がある可能性があります。

ご了承ください。

答えて

1

さて、私はこれを理解しました。 Tess4Jのダウンロードには "lib"フォルダが含まれています。私はこのフォルダ全体を私のプロジェクトに依存するものとして含め、NoClassDefFoundに関連するエラーをもう受け取っていません。

+0

これはLinuxでも役に立ちました。基本的にlibディレクトリを含める必要があります。ありがとう! –

関連する問題