我正在尝试将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插件提供了对Tiff的支持jai_core.jar。
jai_core.jar
为了正常工作,需要将jar文件添加到JVM的ext目录中,否则它将无法正确注册。
ext