0

一切正常,但突然 eclipse 停止执行和 junit 测试甚至主要方法,当我使用 run as -> Java application 运行它们时,run as -> junit test

它只是抛出错误

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

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

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

有什么线索吗?

4

4 回答 4

2

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

于 2011-02-18T17:19:08.020 回答
0

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

于 2011-02-19T10:34:39.933 回答
0

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

我使用MS TFS 插件创建了一个“搁置集”,它应该已经删除了我在该过程中的未决更改。然而,这种与 TFS 管理单元和 Eclipse 的集成显然没有很好地实现,因为 Eclipse 项目仍然认为该文件存在并且抱怨它无法编译。

我去并从 Eclipse 项目中手动删除了那些“文件”或“不存在的文件”(我认为我已经通过搁置操作删除了这些文件),问题就解决了。

还....

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

严重:配置类 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 完全没有问题!!由于我上面提到的其他问题,构建失败了,因此我猜这是它尝试加载的第一个类并且失败了......因为整个项目可能无法编译?

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

于 2012-01-06T19:20:11.880 回答
-1

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

-DFILE=C:\Documents and Settings\myfile

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

于 2013-05-21T21:01:46.380 回答