当前位置: 代码迷 >> Eclipse >> 关于eclipse不编译类的有关问题
  详细解决方案

关于eclipse不编译类的有关问题

热度:85   发布时间:2016-04-23 01:44:08.0
关于eclipse不编译类的问题

这个问题的解决方法总结一下:

1,查看project --> Build Automatically有没有选中?如果没有,勾上以后,clean一下,重启eclipse。

2,查看你的lib里面有没有不用的(多余)jar包,看你的.classpath文件中有没有错误的路径.

3,这是最重要的一点,有problems视图中查看有没有关于本项目的错误信息,一般都会有这样的话:
????? The project cannot be built until build path errors are resolved

然后下面提示unbound classpath, 一般在.classpath中删除这些path就可以了


文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/4_webprogram/jsp/jsp_js/200827/99678.html

=================================

今天突然发现eclipse不自动编译文件了。立即百度搜了一下,按照网上所说的也做了,但是仍然不管用。

没办法自己在那儿瞎弄,意外发现在项目右键菜单的[Properties->Java Build Path]中出现如下提示:

Build path entry is missing: /InfoMirrorServer/js

这时才想到自己昨天好像是不小心建错了文件夹,然后立即把他删掉了。难道是这个的原因?我猜想eclipse肯定是在那个文件

中记录了这个信息。于是在项目中显示所有文件,看到了一个带星号的未提交文件:.classpath

不用问,多半就是他了。打开一看,在第二行就有这么一句:<classpathentry kind="src" path="js"/>

源文件是这样的:

<classpathentry kind="src" path="src"/>
?<classpathentry kind="src" path="js"/>
?<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
?<classpathentry kind="con" path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/>
?<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/oscore-2.2.5.jar"/>
?<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/InfoFrame2.jar"/>
?<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/ojdbc14.jar"/>

。。。

于是立即将第二行删除,保存。哈哈,问题解决!

个人猜想eclipse在编译时读取该文件,执行第二行时发现js文件夹不存在,因此抛出异常不往下执行了才导致

的无法编译。

以上是个人遇到的一种无法编译的情况的解决方法,拿出来跟大家分享。


文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/java/javajs/20081011/149966.html

============================

总结的关于eclipse不编译类的问题

1. 确保 Project -> Build Automatically??? 已经被选上.

2. 如果选上了,也不好使, 使用这一招: Project -> Clean..-> 选第2个Clean pjoject selected below, 选中项目, 点击 "OK"

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-> WebRoot/WEB-INF/classes
然后重新点击build工程即可自动编译。

9.再就是最重要的要看工程下面是否缺少了work目录,由于CVS控制时不把work加如版本,所以checkout后没有这个目录,要手工加上有的工程就能自动编译了

  相关解决方案