一切都有效,但突然eclipse停止执行和junit测试甚至主要方法,当我使用run as - >运行它们时Java应用程序,运行为 - > junit test
它只是抛出错误
Caused by: java.lang.ClassNotFoundException: package.ClassName
whene ClassName - 是我尝试运行方法main的类。 它只影响我的一个项目...不同的工作区工作正常,同一工作区中的其他项目也可以正常工作。
我确定如果我重新创建当前项目,错误就会消失。但是这个项目在日食中的调整真的很难,所以我想避免它。
有任何线索吗?
答案 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。