现在的位置: 首页 > 综合 > 正文

eclipse执行编译后的类文件抛出Could not find the main class: 异常解决方案之一

2013年10月13日 ⁄ 综合 ⁄ 共 1452字 ⁄ 字号 评论关闭

写一些测试代码后执行的时候,抛出找不到main方法的异常。当时感觉很奇怪,因为之前编译运行还是没有问题的。

参考了stackoverflow的一些方法,但是得不到解决。如下链接中所提供的方法:

http://stackoverflow.com/questions/10356854/eclipse-cant-find-load-main-class

关闭eclipse,删除workspace目录中的.metadata,后启动eclipse再导入工程。

本人尝试上述方法,问题未得到解决。后另解压缩了一个新的eclipse,导入原工程,发现编译执行还是会有同样的问题。创建了一个新的工程,写了相同的测试代码,执行发现没有问题。断定应当是工程中的.classpath文件或者.project的问题。对比里两个工程下的.classpath文件,果然有问题:

<classpathentry kind="lib" path="E:/SkyDrive/学习/编程语言/JAVA/web/struts2/据说是权威指南的源码/21/auction_Eclipse/WebRoot/WEB-INF/lib/dom4j-1.6.1.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Spring"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/commons-logging"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JSON"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/hibernate"/>
<classpathentry kind="lib" path="/WEB-INF/lib/c3p0-0.9.1.2.jar"/>
<classpathentry kind="lib" path="/WEB-INF/lib/hibernate-3.1rc2.jar"/>
<classpathentry kind="lib" path="/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.1.Final.jar"/>
<classpathentry kind="lib" path="/WEB-INF/lib/logback-classic-0.9.17.jar"/>
<classpathentry kind="lib" path="/WEB-INF/lib/logback-core-0.9.17.jar"/>
<classpathentry kind="lib" path="/WEB-INF/lib/slf4j-api-1.5.11.jar"/>

熟悉该文件的人知道上节点表示引入的lib信息。由于某些原因本人自建用户库(User Lib)有些问题,将上述全部删除后,再执行就没有问题。但是奇怪的是,我再将这些信息添加到文件中,原来的main入口没找到的问题没有重现,可能也是歪打正着。

简而言之:解决方案一:参考stackoverflow的方法(关闭eclipse,删除workspace目录中的.metadata,后启动eclipse再导入工程。);

  解决方案二:创建一个新的工程,然后将classpath文件替换;

【上篇】
【下篇】

抱歉!评论已关闭.