2017-09-20 8 views
0

私はMavenのとし、OCR用のtess4jを使用して、いくつかの機能をSpring MVCのを使用してWebアプリケーションを開発しています。ます。java.lang.UnsatisfiedLinkError:ル・モジュールspécifiéEST introuvable.on Tess4J

私のdevの環境:

  • EclipseのNeon.3
  • OS:9

tomecat勝利サーバー2008R2

  • JVM 64ビット
  • apacheの私は、最新バージョンをダウンロードhttp://tess4j.sourceforge.net/とEclipseにインポートしたからTess4J。私はこのURLを以下の午前、私はすべての手順に従ったが、私はそれを実行しようとすると、私は次のエラーを取得しています:

    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) 
    

    私はいくつかのチュートリアルを試してみて、私は追加します。 .MV C++ 2015再頒布可能(x64)の 。C:\ Program Files(x86)\ Apache Software Foundation \ Tomcat 9.0 \ temp \ tess4j \ win32-x86-64に追加してください。

    私はまだエラーがあります。基本的に何が起こっている

  • 答えて

    0

    は、ロードするために(私はフランス語を読むことができない、私は思う)システムは、「spécifié」と呼ばれるネイティブモジュールを見つけることができないからです。今のメカニックはこのようなものです。どこかでロード時間の間に(おそらくジャーに)呼び出しは、ネイティブライブラリがPATH上に存在しないので、失敗している

    System.loadLibrary("spécifié"); 
    

    のように行われています。したがって、単純な解決策は、モジュールをPATHに置くことです。 Windows環境の場合、モジュールはspécifié.dllというDLLファイルになります。 (:\ XYZ \spécifié.dll例えば設定PATH = C)このファイルは、パス上に配置されなければなりません。

    はそれを試してみて、確認してください。

    +0

    answer.iためのおかげで、このような私のコードでパスを設定している:パブリッククラスのテスト{ \tパブリック静的無効メイン(文字列[] args){ \t \tするSystem.setProperty( "jna.library.path"、 " src/main/resources/win32-x86-64 "); \t \tファイルimageFile =新しいファイル( "eurotext.tif"); \t \t ITesseractインスタンス=新しいたTesseract()。 \t \t \t \t試み{ \t \t \t文字列結果= instance.doOCR(画像ファイル)。 \t \t \t System.out.println(result); \t \t}キャッチ(TesseractException電子){ \t \t \t System.err.println(e.getMessage())。 \t \t \t} – kajede

    +0

    コマンドプロンプトで手動でパスを設定し、 'java'コマンドでクラスを実行してください。または、eclipseを使用している場合は、環境変数に移動してパスを設定し、eclipseを再始動します。あなたの問題は、VMがPATH上のファイルを見つけることができないということです。一度起これば、動作するはずです。 – Ironluca

    +0

    "Le modulespécifé"は "指定されたモジュール"を意味します... *文字通り* "spécifié"というモジュールを探しているわけではありません。 –

    関連する問題