我有一个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上本地测试main方法时,它工作正常,但不使用我描述的第二个设置。我还检查了我的清单,可以看到以下文件:
META-INF/services/javax.imageio.spi.ImageReaderSpi
META-INF/services/javax.imageio.spi.ImageWriterSpi
我错过了什么?
1条答案
按热度按时间368yc8dk1#
我回复你的意见作为一个答案,因为否则格式/空间是有限的。
我们使用slf4j将所有公共日志“重定向”到log4j。您必须添加以下依赖到您的日志-然后还添加了pdfbox的appender后,它将记录到您的标准日志文件。。。
对于你的第二个问题:不一定。类路径上有所有的lib吗?如果没有任何错误消息,就很难弄清楚到底发生了什么。你能看到控制台吗?如果是这样,那么使用下面的代码检查类是否存在。