Maven で Java Advanced Imaging を使用する 質問する

Maven で Java Advanced Imaging を使用する 質問する

JAIセットアップ複数の jar と環境変数が関係するため、非常に面倒です。これを通常の Maven 依存関係として追加できれば、プロジェクトの移植性が大幅に向上します。

私が使用しているPOMスニペットは

<dependency>
  <groupId>com.sun.media</groupId>
  <artifactId>jai_imageio</artifactId>
  <version>1.1</version>
</dependency>

そしてエラーは

[INFO] ------------------------------------------------------------------------                               
[ERROR] BUILD ERROR                                                                                             
[INFO] ------------------------------------------------------------------------                                 
[INFO] Failed to resolve artifact.                                                                              

Missing:   
----------
1) com.sun.media:jai_imageio:jar:1.1
2) javax.media:jai_core:jar:1.1.3

もちろん、それらの jar ファイルをダウンロードしてインストールすることはできます。問題は 2 つあります。

  • jai_imageio には 2 つの jar が必要です。
  • jai_imageio では、ネイティブ ライブラリをインストールし、2 つの環境変数を設定する必要があります。

Maven でこれを動作させる方法が見つかりませんでした。


見るImageIO を使用して JCS_YCCK イメージを読み込む私がJAIを使用している理由です。

ベストアンサー1

jar をダウンロードしてインストールする手間を省くには、Spring リポジトリに依存関係を追加します。通常の依存関係を少し変更します。

    <dependency>
        <groupId>javax.media.jai</groupId>
        <artifactId>com.springsource.javax.media.jai.core</artifactId>
        <version>1.1.3</version>
    </dependency>

リポジトリ宣言を追加します:

    <repository>
        <id>com.springsource.repository.bundles.external</id>
        <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
        <url>http://repository.springsource.com/maven/bundles/external</url>
    </repository>

これで動作するはずです (すべての Sun クラスが javax.media.jai.* で使用できるようになります)。こちらをご覧ください:

http://ebr.springsource.com/repository/app/bundle/version/detail?name=com.springsource.javax.media.jai.core&version=1.1.3

必要に応じてコーデックの依存関係を追加することもできます...

http://ebr.springsource.com/repository/app/bundle/version/detail?name=com.springsource.javax.media.jai.codec&version=1.1.3

おすすめ記事