在 PDFBox 应用程序 3.0.0 alpha3 中运行简单代码以将简单的 txt 文件转换为简单的 pdf 文件时出现运行时异常

问题描述 投票:0回答:1

我从 Apache 和 ChatGPI 获得了一个简单的代码,并将其修改为我自己的目的。给定一个简单的 txt 文件,它将其转换为 pdf。 联合国。由于缩进问题,SOVF UI 不允许我将代码粘贴到此处,因此我将其删除。

运行它时,给我这个有关日志记录未初始化的运行时异常:

线程“main”中的异常 java.lang.ExceptionInInitializerError 在 [电子邮件受保护]/org.apache.pdfbox.filter.FlateFilter.encode(FlateFilter.java:132) 在 [电子邮件受保护]/org.apache.pdfbox.filter.Filter.encode(Filter.java:101) 在 [电子邮件受保护]/org.apache.pdfbox.cos.COSOutputStream.close(COSOutputStream.java:139) 在 java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:188) 在 [电子邮件受保护]/org.apache.pdfbox.cos.COSStream$1.close(COSStream.java:281) 在 [电子邮件受保护]/org.apache.pdfbox.pdmodel.PDAbstractContentStream.close(PDAbstractContentStream.java:1498) 在 [电子邮件受保护]/org.apache.pdfbox.pdmodel.PDPageContentStream.close(PDPageContentStream.java:37) 在 ConvertTxtToPDF/com.test.mahdad.TextToPdfConverter.main(TextToPdfConverter.java:48) 引起:java.lang.NullPointerException:无法调用“org.apache.commons.logging.Log.error(Object,java.lang.Throwable)”,因为“org.apache.pdfbox.io.IOUtils.LOG”为空 在 [电子邮件受保护]/org.apache.pdfbox.io.IOUtils.unmapper(IOUtils.java:273) 在 java.base/java.security.AccessController.doPrivileged(AccessController.java:318) 在 [电子邮件受保护]/org.apache.pdfbox.io.IOUtils。(IOUtils.java:62) ...还有8个

当我将 commons-logging-1.2.jar 添加到 Java 构建路径并再次运行它时,出现了此运行时异常。 }

Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Module pdfbox.app contains package org.apache.commons.logging, module commons.logging exports package org.apache.commons.logging to pdfbox.app

请指教,谢谢。

添加了 commons-logging-1.2.jar 并有望解决该问题,但似乎与 PDFBox 存在冲突。

pdfbox
1个回答
0
投票

requires jdk.unsupported;
添加到我的
module-info.java
为我解决了这个问题。

org.apache.pdfbox.io.IOUtils
想要使用
sun.misc.Unsafe
,在最新版本的java中默认情况下无法访问。

NullPointerException
是类初始化器在初始化其记录器之前尝试抱怨这一点的结果。

© www.soinside.com 2019 - 2024. All rights reserved.