Java - 找不到Logger Class

时间:2013-10-02 01:56:49

标签: java logging log4j

我的旧笔记本电脑出现故障,所以我将一个java程序转移到一台新计算机上,但是执行该程序时遇到了困难。我正在使用eclipse,并且为了删除“缺少主类”错误,将目标目录添加到构建路径中。现在,我收到了错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    at source.Application.<clinit>(Application.java:447)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
    at java.net.URLClassLoader$1.run(Unknown Source)
...

类路径文件包含行

classpathentry kind="lib" path=".../log4j/log4j-1.2.17/apache-log4j-1.2.17/log4j-1.2.17.jar" sourcepath=".../log4j/log4j-1.2.17/apache-log4j-1.2.17/log4j-1.2.17-sources.jar">

所以,我不确定下一步该尝试什么。

在java build path / libraries选项卡中,条目为:

外部jar:C:\ Users \ John \ Documents \ java \ log4j \ log4j-1.2.17 \ apache-log4j-1.2.17 \ log4j-1.2.17.jar 源附件:C:\ Users \ John \ Documents \ java \ log4j \ log4j-1.2.17 \ apache-log4j-1.2.17 \ log4j-1.2.17-sources.jar javadoc位置:C:\ Users \ John \ Documents \ java \ log4j \ log4j-1.2.17 \ apache-log4j-1.2.17 \ log4j-1.2.17-javadoc.jar

主类有一个类成员

private static final Logger LOGGER = Logger.getLogger(Application.class);

主要功能有行

PropertyConfigurator.configure( “log4j.properties”); LOGGER.error(E);

2 个答案:

答案 0 :(得分:2)

classpathentry有三个点。尝试两个点

答案 1 :(得分:0)

首先,我在不同的驱动器上创建了一个新的eclipse工作区,并将java源文件目录复制到新的工作区和必要的库中。程序在新工作区中执行。

由于从传输的svn存储库中检出了流行的工作空间,我转到上一个eclipse工作空间目录并删除了.metadata目录,并使用之前的工作空间重新启动了eclipse。 Eclipse重建了.metadata目录,并允许以前的工作区运行。

因此,看起来错误是一个损坏的eclipse工作区,在计算机之间传输svn存储库后变得明显。