dポイントプレゼントキャンペーン実施中!

eclipseで実行可能なjarファイルを作成しようとしているのですが、
以下のようなエラーが出てしまい作成はできても、実行することができずにいます。

java.lang.UnsatisfiedLinkError: no dsj in java.library.path
Exception in thread "Thread-0" java.lang.UnsatisfiedLinkError: de.humatic.dsj.DS
Filtergraph.initMethodIDs()V
at de.humatic.dsj.DSFiltergraph.initMethodIDs(Native Method)
at de.humatic.dsj.DSFiltergraph.<clinit>(SourceFile:143)
at media.VideoDSJ.init(VideoDSJ.java:41)
at media.VideoDSJ.<init>(VideoDSJ.java:35)
at JavaLive.JavaLive.run(JavaLive.java:137)

エラーを見てみる限り、外部ライブラリーとして使っているdsjへのパスがうまくできていないと思うのですが、
プロジェクト自体にimportしていますし、必須ライブラリーをパッケージするように出力をしていますがうまくいきません。
配布したあとは特にライブラリ等をインストールを必要とせずに実行させたいので、なんとか中にライブラリーを包括したいのですが、
何かいい方法は無いでしょうか?

A 回答 (2件)

UnsatisfiedLinkErrorが出るのはネイティブメソッドを使おうとしてそのネイティブライブラリが見つからなかったときだけですし、initMethodIDs(Native Method)と出ています。

そのクラスを使用するにはネイティブライブラリ(Windowsならdsj.dll, Linuxならlibdsj.soかな)が必要なのは間違いありません。
ネイティブライブラリをjarファイルの中に入れて特別なインストール操作をせずに動作させるのは一筋縄では行かないでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
おっしゃるとおり、dsj.dllのネイティブライブラリをつかってるのを確認できました
これがjarの中に入ってなかったゆえにエラーが出ていたのですね
入れた上でjarを使えるようにする方法はわかりませんが、自分で調べてみようと思います
ありがとうございました!

お礼日時:2011/12/15 00:07

nativeを使用してない?


nativeはパッケージするんじゃなくて、別途インストールが必要なのでは?

この回答への補足

回答ありがとうございます
nativeというのはnative interfaceのことでしょうか?
特にそういったものはつかってなく、ライブラリはdsj.jarだけの追加で、dsj.jar自体もjavaによるラッパーなので、パッケージだけで動くと思うのですが、勘違いがありますでしょうか?

補足日時:2011/12/14 15:29
    • good
    • 0
この回答へのお礼

回答ありがとうございます
ネイティブの意味をよくわからないうちに追加質問をしてしまい、失礼しました
.dllのネイティブライブラリの事をさすことだったのですね
No2の方の答えにあるように一筋縄でいくものではないと思いますが、自分でjarでネイティブライブラリを使える方法を調べてみよう思います
ありがとうございました!

お礼日時:2011/12/15 00:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!