首页 > 解决方案 > 在 linux 上运行 jar 文件时出现此错误 - 线程“main”java.lang.NoClassDefFoundError: org/apache/log4j/Logger 中的异常

问题描述

我创建了一个 java 项目,当我从 NetBeans 运行它时,它可以正常运行并执行预期的操作,但是当我将它移到 Linux 服务器上时,它给了我这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    at arhivare.Arhivare.<clinit>(Arhivare.java:29)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

它必须与我在项目中包含的 log4j 库有关(它在 Netbeans 中运行)。我错过了什么?

标签: javalinuxlog4j

解决方案


 public static final Logger logger = Logger.getLogger(Arhivare.class);

这就是我初始化 Logger 的方式,运行应用程序的命令是:java -jar ArhivareProd.jar


推荐阅读