【问题标题】:java.lang.ClassNotFoundException: org.apache.log4j.Logger - Eclipse still searching for old class after upgrading from version 1 to 2.17.0java.lang.ClassNotFoundException: org.apache.log4j.Logger - Eclipse 从版本 1 升级到 2.17.0 后仍在搜索旧类
【发布时间】: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


    【解决方案1】:

    从错误看来,您的导入不正确,因为 v2 应该是 import org.apache.logging.log4j.Logger; 我相信。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-12
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多