我有一个 Java/Gradle 应用程序,它使用 PDFBox 将 PDF 转换为 PNG。在我的 IDE 上进行本地测试时,我的代码如下:
public static void main(String[] args) throws IOException {
PDDocument doc = PDDocument.load(new File("pdfFile.pdf"));
PDFRenderer renderer = new PDFRenderer(doc);
OutputStream os = new FileOutputStream(new File("image.png"));
ImageIO.write(renderer.renderImageWithDPI(0, 300), "png", os);
}
在 prod 中,另一个应用程序启动了一个运行我的应用程序的新 JVM。我不确定父应用程序的类路径是什么,但如果我的 Gradle 依赖项中有以下内容,这有关系吗?
implementation "org.apache.pdfbox:jbig2-imageio:3.0.2"
在我的 IDE 上本地测试我的主要方法时,它工作正常,但没有使用我描述的第二个设置。我还检查了我的清单,可以看到以下文件:
META-INF/services/javax.imageio.spi.ImageReaderSpi
META-INF/services/javax.imageio.spi.ImageWriterSpi
我错过了什么?