Eclipse ClassNotFoundException

时间:2011-02-18 17:13:43

标签: java eclipse classnotfoundexception

一切都有效,但突然eclipse停止执行和junit测试甚至主要方法,当我使用run as - >运行它们时Java应用程序,运行为 - > junit test

它只是抛出错误

Caused by: java.lang.ClassNotFoundException: package.ClassName

whene ClassName - 是我尝试运行方法main的类。 它只影响我的一个项目...不同的工作区工作正常,同一工作区中的其他项目也可以正常工作。

我确定如果我重新创建当前项目,错误就会消失。但是这个项目在日食中的调整真的很难,所以我想避免它。

有任何线索吗?

4 个答案:

答案 0 :(得分:2)

ClassName不在类路径中,如果从控制台开始,则应使用-cp参数,如果从eclipse开始,请将ClassName添加到当前的源(开始)项目

答案 1 :(得分:0)

好的,我终于明白了。问题是在eclipse设置中安装了JRE。我正在玩这个设置并将已安装的JRE更改为JDK,并且由于某种原因它打破了eclipse项目。

答案 2 :(得分:0)

感谢 adarshr ,我能够查看 Problems窗口,并确定构建失败,因为它无法找到我编写的类。

我曾使用 MS TFS插件来创建“ shelveset ”,并且应该已删除此过程中的待处理更改。但是,与TFS管理单元和Eclipse的这种集成显然没有很好地实现,因为Eclipse项目仍然认为该文件存在并且抱怨它无法编译。

我从Eclipse项目中手动删除了那些“文件”或“不存在的文件”(我以为我已经使用shelveset操作删除了),问题解决了。

另外....

另一个令人讨厌的事情是我在Eclipse中尝试调试时遇到的Tomcat错误是这样的:

  

SEVERE:配置类的应用程序侦听器时出错   com.CompanyName.ProjectName.servlet.StartupConfigListener   抛出java.lang.ClassNotFoundException:   com.CompanyName.ProjectName.servlet.StartupConfigListener at   org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1643)

实际上,StartupConfigListener.java没有任何问题!由于我上面提到的OTHER问题,构建失败,因此我猜这是它尝试加载和失败的第一个类....因为整个项目可能无法编译?

(这是希望我的下一个项目使用Visual Studio而不是Eclipse!)

答案 3 :(得分:-1)

您也可以尝试回归基础知识。检查命令行和VM args。我遇到过这种情况,我传入的虚拟机arg是路径中有空格的文件的路径,我忘记在引号中包含完整路径。例如,如果我的arg看起来像

-DFILE=C:\Documents and Settings\myfile

...我得到一个由java.lang.ClassNotFoundException引起的java.lang.NoClassDefFoundError。