JAI setup非常繁琐,涉及多个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。问题是双重的:
我还没有找到一种使Maven起作用的方法。
有关我使用JAI的原因,请参见Reading JCS_YCCK images using ImageIO。
最佳答案
为了避免下载和安装jar,可以在spring repo上添加依赖项。因此,请稍微更改常规依赖项:
<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