我创建了一个 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 中运行)。我缺少什么?
最佳答案
public static final Logger logger = Logger.getLogger(Arhivare.class);
这是我初始化记录器的方式,运行应用程序的命令是: java -jar ArhivareProd.jar
关于java - 在 Linux 上运行 jar 文件时出现此错误 - 线程 "main"java.lang.NoClassDefFoundError : org/apache/log4j/Logger 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57004506/