【发布时间】:2022-01-17 13:00:14
【问题描述】:
我正在 Eclipse 中开发一个动态 Web 项目,我最近将 log4j 从版本 1 升级到了最新版本,即 2.17.0。我也根据新的Jar文件对代码进行了所有更改。
现在我遇到了一个奇怪的问题,每当我尝试下载 pdf 时,它都会抛出这个异常
"java.lang.NoClassDefFoundError: org/apache/log4j/Logger] 根本原因 java.lang.ClassNotFoundException: org.apache.log4j.Logger"
我在很多不同的地方都使用了 log.4j 库,它运行良好。除了这个代码试图找到 log4j 的旧类的地方。
这是我的代码,它在“PDDocument.load(f);”这一行抛出错误
public static boolean merge(List<File> PDFFiles, File targetFile){
PDFMergerUtility ut = new PDFMergerUtility();
ut.setDestinationFileName(targetFile.getAbsolutePath());
for (File f : PDFFiles) {
try {
PDDocument.load(f);
ut.addSource(f);
} catch (IOException e) {
lgr.error(e);
}
}
try {
ut.mergeDocuments();
} catch (COSVisitorException e) {
// TODO Auto-generated catch block
lgr.error(e);
return false;
} catch (IOException e) {
// TODO Auto-generated catch block
lgr.error(e);
return false;
}
return true;
}
【问题讨论】:
标签: java eclipse logging log4j executable-jar