关于eclipse无法自动编译的问题

这两天在工作中遇到一个很头疼的问题,eclipse项目无法自动编译,启动项目的时候显示找不到mian方法,在网上查了查相关的解决办法,主要有以下几种:

  1. JDK版本的问题
  2. 确保 project->build automatically已经被选上
  3. 如果选上了,也不好使, 使用这一招:project->clean..->选第2个clean selectproject, 勾上start build immediatelly
  4. 删除现在的项目,提前设置好编译文件输出路径,重新导入源文件,设置eclipse为保存时编译,然后在保存的时候就可以自动编译了
  5. 如果项目里引了某个不用的jar包,而那个包又被你删了,就会出现不报错但怎么也编译不出来class文件的情况,可以把所有包都删除,然后一个一个的再引入(需要的),不要一下子把所有包都引入来,没用的可能会引起不良后果
  6. remove掉 JRE SystemLibrary,重新导入即可编译
   还有一篇是别人解决这个问题的笔记
  1. 重新导入的项目结构与原来的不同,src包等等都和原来的不同,打开项目主目录,中有个.classpath文件,用记事本打开会发现有一行<classpathentry kind="src"path="src"/>,估计它的意思就是说你的源文件位置,看看有没有这一行,没有一定要补上,下面就是一些jar包的导入路径,如:?//这两行也应该是MyEclipse自动生成的,JAVA运行环境 \J2EE1.4?<classpathentry kind="con"path="org.eclipse.jdt.launching.JRE_CONTAINER"/>?<classpathentry kind="con"path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/>?//导入的JAR包位置?<classpathentry kind="lib"path="web/WEB-INF/lib/acegi-security-1.0.0-RC1.jar"/>?
  2. 刷新项目不自动编译,将WEB-INF下面的classes文件夹中的字节码文件删除后不再重新生成?遇到此问题要检查是否有这一行?<classpathentry kind="output"path="web/WEB-INF/classes"/>?这是指定将字节码文件输出到哪,如果没指定当然不会默认给你找个地方存了。
  3. 以上两个步骤都做完了,但项目依旧跑不起来?这个时候你要用到MyEclipse的项目清理功能,在菜单栏里的project里有个clean,它会强制清除那些配置文件,重新生成就会正确了
    最后发现我自己是引用了不用的jar包被我不小心删掉了,因此,删掉libraries下所有的依赖jar包后,再一一导入,项目可以重新编译了,问题解决。
原文地址:https://www.cnblogs.com/zhuxiangguo/p/2198757.html