0
mavenでTess4Jを使用していますが、すでにpom依存関係が使用されています。すべてが.m2リポジトリにダウンロードされています。ソースフォージからtess4j jnaラッパーもダウンロードしました。しかし、これまで私は、私はまだこの例外を取得mはない:tess4j jna UnsatisfiedLinkError
Looking in classpath from [email protected] for /com/sun/jna/win32-x86-64/jnidispatch.dll
Found library resource at jar:file:/C:/Users/user/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar!/com/sun/jna/win32-x86-64/jnidispatch.dll
Looking for library 'libtesseract305'
Adding paths from jna.library.path: C:\Tess4J\lib\win32-x86-64;C:\Tess4J\lib;C:\Users\user\AppData\Local\Temp\tess4j\win32-x86-64
Trying C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
Adding system paths: []
Trying C:\Tess4J\lib\win32-x86-64\libtesseract305.dll
Looking for lib- prefix
Trying liblibtesseract305.dll
Looking in classpath from [email protected] for libtesseract305
Found library resource at jar:file:/C:/Users/user/.m2/repository/net/sourceforge/tess4j/tess4j/3.3.1/tess4j-3.3.1.jar!/win32-x86-64/libtesseract305.dll
Exception in thread "main" java.lang.UnsatisfiedLinkError: Le module spécifié est introuvable.
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.Native.open(Native.java:1759)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:260)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)
at com.sun.jna.Library$Handler.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:412)
at com.sun.jna.Native.loadLibrary(Native.java:391)
at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:75)
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42)
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196)
at com.mycompany.mavenproject1.NewClass.main(NewClass.java:20)
私は私のlibtessract305.dllに-Djna.library.pathを追加しようとしましたが、何の成功
は、私が何をすべきではありませんか?
ため
おかげで「Java仮想マシンは、メソッドの適切なネイティブ言語の定義を見つけることができない場合にスローされ、ネイティブと宣言しました。」 javadocsで判断すると、他の多くのオプションはありません。 jvmを冗長モードで実行して、ネイティブライブラリを探している場所がわかるかどうか確認してください。あなたの最後のセンテンスはあまり意味がありません – efekctive
Javaコマンドラインオプション '-Djna.debug_load = true'を追加すると、JNAがライブラリを探す場所を確認できます。 '-Djna.library.path'がファイルではなく*ディレクトリ*を指していることを確認してください。 – cubrr
@cubrr私の2台のコンピュータにログを追加しました。なぜなら、私のwin10では、asusがうまく動作し、負荷がうまくいったからです。しかし、私の2番目のpc win7はそうではありません。何か考えていますか? –