日期:2014-05-16 浏览次数:20675 次
升级了一下Myeclipse的新版本, 导入原有工程的时候, 总是报错, 无法编译.
错误的内容是某个java文件不能读:
The project was not built since the source file xxx.java could not read
?
有时候是报IOException, Spring的applicationContext.xml scan Bean出错.
看了一下文件没问题, 换回Myeclipse旧版本, 也不行, 同样的错误.
在Windows下面试了一下, 没有问题, 直接import工程一点错误都没有.
今天整整搞了一天, 几个版本来回折腾, 都不行. 最后突然想到这个工程很大, 会不会Linux打开文件数目的问题.
ulimit -n看了一下, 当前用户的设置是1024, 很有可能!
查了一下Slackware对于ulimit设置最大打开文件数目, http://slackwiki.org/Resource_Limits
1. 把/sbin/initscript.sample复制为/sbin/initscript, 然后加入ulimit硬限制:
ulimit -Hn 8192?
2. 在~/.profile里面增加一行软限制:
ulimit -n 8192?
重启机器就好了, eclipse终于开始编译了......
还有一个问题, 就是在src目录下面居然不认识.svn, 编译时候把src里面的.svn全部拷贝到了classes里面去了.
本来以为classes目录从SVN的忽略列表里面跑出来了, 但是设置了Perference->Team->ignore resources也不行.
最后把 **/.svn/ 加到项目编译的Exclude列表里面, 就把classes目录忽略了,
然后等编译完, 再把这个Exclude去掉, 就可以了. 晕倒