我的旧笔记本电脑坏了,所以我把一个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构建路径/库选项卡中,条目是:
外部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
主类有一个类成员。
私有静态最终日志记录器= Logger.getLogger(Application.class);
主要功能有线条。
PropertyConfigurator.configure("log4j.properties");LOGGER.error(e);
发布于 2013-10-06 05:44:01
首先,我在不同的驱动器上创建了一个新的eclipse工作区,并将java源文件目录复制到新的工作区和必要的库中。在新工作区中执行的程序。
由于prevous工作区是从传输的svn存储库中签出的,所以我转到了以前的eclipse工作区目录并删除了.metadata目录,并使用以前的工作区重新启动了eclipse。Eclipse重新构建了.metadata目录,并允许运行以前的工作区。
因此,这个错误似乎是一个损坏的eclipse工作区,在计算机之间传输svn存储库之后,这个错误就变得明显了。
发布于 2013-10-01 18:06:49
类空间入口有三个点。试试两个点
https://stackoverflow.com/questions/19128862
复制