我正在尝试将PDF转换为tif图像.我使用以下代码按格式获取图像编写器.
Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName("TIFF");
if (writers == null || !writers.hasNext()) {
throw new ImageWritingException();
}
当我在Eclipse中独立运行应用程序时,这可以正常工作.但是,当我将应用程序部署到Linux中的tomcat服务器时,writers == null为false,但!writers.hasNext为true导致抛出Exception.
我使用Maven构建战争项目.
我在pom文件中具有以下依赖项.
<dependency>
<groupId>org.icepdf</groupId>
<artifactId>icepdf-core</artifactId>
</dependency>
<dependency>
<groupId>com.sun.media</groupId>
<artifactId>jai_imageio</artifactId>
</dependency>
<dependency>
<groupId>com.sun.media</groupId>
<artifactId>jai-codec</artifactId>
</dependency>
<dependency>
<groupId>javax.media</groupId>
<artifactId>jai_core</artifactId>
</dependency>
两种环境之间有什么区别?如何解决此问题?
解决方法:
Java Advanced Imaging插件jai_core.jar提供了对Tiff的支持.
为了正常工作,需要将jar文件添加到JVM的ext目录中,否则它将无法正确注册.