質問

私は、OSGiコンテナ(春-DM)内のJava拡張イメージング(JAI)を実行しようとしています。私は、JAIライブラリにアクセスすることができるんだけど、私はJAIを呼び出したときに初めて、次のエラーが表示されます:

Error: Could not load mediaLib accelerator wrapper classes. Continuing in pure Java mode.
Occurs in: com.sun.media.jai.mlib.MediaLibAccessor
com.sun.media.jai.mlib.MediaLibLoadException

DLLはクラスパス上にあり、私のマニフェストにバンドル-NativeCodeライブラリとして参照します。それは、OSGi内のネイティブJAI DLLを実行することは可能ですか?もしそうなら、どのような私は何をする必要がありますか?

(編集:明確化)

私は、Windows JAIライブラリをダウンロードし、ダウンロードパッケージからJARファイルとDLLを抽出します。

Mainfestます:

Manifest-Version: 1.0
Bundle-Name: Java Advanced Imaging
Bundle-SymbolicName: javax.media.jai
Bundle-Version: 1.1.3
Bundle-ClassPath: libs/,
 jai_codec.jar,
 jai_core.jar,
 mlibwrapper_jai.jar
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-NativeCode: libs/mlib_jai_mmx.dll; osname=WindowsXP; processor=x86, 
 libs/mlib_jai_util.dll; osname=WindowsXP; processor=x86, 
 libs/mlib_jai.dll; osname=WindowsXP; processor=x86
Export-Package:
役に立ちましたか?

解決

Bundle-NativeCodeブロックの宣言が正しく表示されません。

: - (私は非常にあなたがダウンロードをお勧めします、それはかなりストレートフォワードです)OSGiの仕様によるとそれはそれを変更して、単一のプラットフォーム用のすべてのライブラリは、同じ句で指定する必要があります
Bundle-NativeCode: libs/mlib_jai_mmx.dll; libs/mlib_jai_util.dll; libs/mlib_jai.dll; 
 osname=WindowsXP; 
 processor=x86

一般的に、私は(この1つはネイティブコード部分以外はかなり簡単です)、あなたが他の場所でそれらを見つけることができれば、独自のバンドルが現れるローリングはお勧めしません。この場合、私は春リポジトリのでそれらにそれらの2を発見しました。それは、ネイティブコードの一部が含まれていません - 。おそらくライセンスの問題のために、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top