其实大部分解决办法在网上都有的,例如这里:
https://blog.csdn.net/shiyuehit/article/details/53262807
eclipse下无法自动编译或编译失败等问题解决办法
1、确保 project->build automatically 已经被选上.
2、如果选上了,也不好使, 使用这一招: project->clean..->选第2个clean select project, 勾上start build immediatelly
3、删除现在的项目,提前设置好编译文件输出路径,重新导入源文件,设置eclipse为保存时编译,然后在保存的时候就可以自动编译了
4、如果项目里引了某个不用的jar包,而那个包又被你删了,就会出现不报错但怎么也编译不出来class文件的情况,可以把所有包都删除,然后一个一个的再引入(需要的),不要一下子把所有包都引入来,没用的可能会引起不良后果.
5、想删掉某个class文件重新生成,删除class文件后,但classes目录下的文件夹被其它程序打开,比如Total Commander。此时编译也不会通过,在problems下可能会提示“con't delete classes ……”。关掉其它程序重新编译即可。
6、还有种情况是remove掉 JRE System Library,重新导入即可编译。但是什么原因导致的还不清楚。
7、把build path中所有包都remove掉。然后又add jars,add libraries把需要的加进去,居然又开始编译了。
8、project->properties->java build path->source->../WEB-INF/src的output folder不要默认,编辑让它指向../WEB-INF/classes
然后重新点击build工程即可自动编译。
我的项目用了以上方法都无效,最后重新建立项目,在建立项目的时候指定编译路径为./WEB-INF/classes,将文件复制进去,相当于重新了复制这个项目,只是在建立项目的时候指定编译路径(而不是建立之后再改编译路径)即可
但是我使用以上的办法都没有解决我的问题,后来发现在 项目右键->Properties->Java Build Path->Libraries 有jar包引用没有找到(Miss状态)。 虽然没有找到jar包,但是因为项目中并没有使用该类库的资源,所以明面上是可以编译通过的,但最终部署的时候就会出现失败(没有生成class)。
将无用的jar引用去掉后,eclipse向tomcat部署项目就会有class。
问题解决。