2012-01-31 18 views
0

System.loadLibrary()メソッドを使用せずにmaven javaプロジェクトでロードする必要がある 'so'ファイルはほとんどありません。Mavenでネイティブ依存関係を自動的に読み込むには?

src/main/resources /フォルダにsoファイルをコピーしました。私はそれらについてpom.xmlで言及する必要がありますか?

どうすればよいですか?

このエラーが発生しました。 "メイン" ます。java.lang.UnsatisfiedLinkErrorスレッドで

例外:tcl.lang.Interp.commandComplete(Ljava/LANG /文字列;)Z

答えて

0

あなたはロードとはどういう意味ですか? Mavenはビルドシステムです。あなたのjarファイルにはsrc/main/resources/というファイルが置かれます。しかし、実行時のコードには影響しません。したがって、実行時にライブラリをロードするのはあなたのコードに依存します。

0

loadLibraryのパスが間違っているようです。あなたはsrc/main/resourcesにあるこれらのファイルがmavenによってtarget/classesフォルダにコピーされ、getClass()。getResourcesAsStream()によって利用可能であることを知っています...

ClassLoader cl = getClass().getClassLoader(); 
url = cl.getResource(name); 
if(url != null) { 
    file = new File(url.getFile()); 
} 
+0

コードにネイティブライブラリを読み込む必要がありますか?それはJVMによって行われていないのですか? – user691197

関連する問題