繁体   English   中英

线程“主”中的异常java.lang.NoClassDefFoundError:org / apache / logging / log4j / LogManager

[英]Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager

我正在尝试使log4j2在Netbeans中工作。 无论我做什么,都会出现以下错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
at java.lang.ClassLoader.defineClass1(Native Method)

...

Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)14
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

我正在按照此处的说明设置log4j2并尝试运行相同的演示程序。

我试图找到解决方案,并找到了这篇文章。 这里有类似的问题

找不到此类帖子与我的问题完全相同,但未发布有效答案。

我已将log4j-core-2.8.2.jar和log4j-1.2-api-2.8.2.jar添加到项目库中。 这两个文件安装在src主文件夹的子文件夹中,因此它们位于类路径中。

Netbeans已安装在新的Ubuntu版本上。 令人沮丧的是,我能够在Windows计算机上运行它。

我尝试仅使用此logdemo类创建一个新的新项目。 我将log4j2 jar文件添加到库中。 我还将命令-Dlog4j.configurationFile=/home/test/config/log4j2.xml到“运行”>“ VM选项”框中。

我仍然收到完全相同的错误消息。

我检查了我的安装。

dazz@mimir:~$ java -version

Java版本“ 1.8.0_144” Java™SE运行时环境(内部版本1.8.0_144-b01)Java HotSpot(TM)64位服务器VM(内部版本25.144-b01,混合模式)

我发现有关在Ubuntu中设置Java Environment的文章 我本以为使用apt-get会设置环境,但是我可能错了。

我检查了/ etc / environment。 那里没有提到Java。 .bash.rc中也没有导出Java路径。 / etc / profile中没有Java。

似乎有许多地方可以设置路径。 我发现这篇文章在Ubuntu中设置PATH变量 这是现代且有益的。 我还发现了这篇文章在Ubuntu中设置Java路径变量

我在我的家庭资料〜/ .profile中添加了以下内容

JAVA_HOME=/usr/lib/jvm/default-java
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

注意使用default-java。 这是到JDK的符号链接。 我希望如果/当我升级到下一个版本时,apt-get可以更改链接。

重新启动Ubuntu后,看看是否能解决问题,请保持不变。
欢迎找到问题原因的任何建议。

我在Windows 10 PC上安装了Netbeans,但仍然具有相同的症状,因此我认为问题一定出在jar文件上。

我找到了解决方案。 我使用的是log4j-core-2.8.2.jar和log4j-1.2-api-2.8.2.jar而不是log4j-api-2.3.jar和log4j-core-2.3.jar。

无论出于何种原因,2.3版本都可以,而2.8.2版本则不能。 当我更改jar文件时,该程序已编译并在Win 10和Ubuntu下均正常运行。

我对此非常恼火。 我正在学习Java,并且喜欢这种语言,但是与编写代码相比,我花了更多的时间来解决问题。 该演示程序编译成功,仅在运行时抛出错误。 使Stackoverflow如此出色的资源的经验丰富的程序员没有发现问题,为什么要这样做。 隐秘的错误消息没有提示问题的根本原因。 应该不难。 这非常令人沮丧。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM