原先一直用破解版的myeclipse,后来高版本的问题比较多,就用回eclipse。
几个坑:
1.如果启动时候报无法加载jvm之类的错误,那肯定是jdk版本和eclipse版本不一致造成的,一个32位,一个64位。
2.如果启动之后,导入项目,个别类文件报一些莫名其妙的错误,比如:
Multiple markers at this line
- The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from
required .class files
- The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from
required .class files
一般来说是jdk版本太高,eclipse版本不匹配造成的。
3.另外,使用eclipse创建web项目,会缺少servlet-api.jar和jsp-api.jar这俩jar包,导致部分类编译出错。如果有tomcat之类的容器,直接去它的lib目录底下复制出来放进项目lib里面就好了。
4.eclipse4.7和JDK1.8搭配应该也是ok的,可惜项目中使用的jar包版本太低,一开始用这个环境导入项目后也是一大堆莫名其妙的错误。后来换成eclipse3.7+jdk1.6问题消失。所以,在动手搭建环境之前,要考虑到项目的实际情况,知道有坑的情况下尽量避开,而不是傻不拉几往里跳。
5.公司发过来20几个项目,其中一个是主项目,其他都被主项目引用。在部署时总是报错,提示少jar包。在buildpath的project中把其他引用到的项目加进去之后,引入报错。负责开发的哥们认为是我们用tomcat的原因,建议换成jetty。于是装了jetty插件,jetty插件确实方便,右键直接就run起来了。但是问题依旧。死马当活马医,把缺少jar包的异常丢到百度上,这次无意中看到一位前辈的处理办法:jvm内存设的太小了。修改jdk vm参数,搞定。
另外,jvm可用内存,也是有限制的,32位windows下大约1.5-2G,linux下2-3G;64位下没有限制。
现在32操作系统应该很少见了,但是32位jdk却很多,这也是要受到上面可用内存限制的。建议大家都用64位jdk,规避一些不必要的麻烦。像这次项目起不来,一直报缺少jar包,根本想不到是内存不够的问题。
6.eclipse启动过程中,项目编译时出现堆内存不足或者栈内存错误,修改了eclipse.ini的启动内存,问题仍然存在,后来取消了JavaScript validator,问题解决。
具体操作:project-properties-Builders-取消JavaScript validator选项。