日期:2014-05-19  浏览次数:20710 次

求大侠解决异常问题!!急急急!!!
程序部署在linux服务器上,大约每4天出一次该异常,重启程序后又正常了,急盼各位大侠帮忙!
Exception in thread "main" java.lang.NoClassDefFoundError: com/aiflow/zw/util/AlarmMess
at com.aiflow.zw.main.Main.main(Main.java:224)
Caused by: java.lang.ClassNotFoundException: com.aiflow.zw.util.AlarmMess
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 1 more
Caused by: java.io.FileNotFoundException: /home/tomcat/vas_elt_zy/com/aiflow/zw/util/AlarmMess.class (Too many open files)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at sun.misc.URLClassPath$FileLoader$1.getInputStream(URLClassPath.java:1005)
at sun.misc.Resource.cachedInputStream(Resource.java:61)
at sun.misc.Resource.getByteBuffer(Resource.java:144)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:256)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
... 6 more

------解决方案--------------------
看看你的项目里有没有包含com/aiflow/zw/util/AlarmMess这个类的jar包,没有的话,添加。可能这个类用的频率不高,每用一次,就报一次错。
------解决方案--------------------
/home/tomcat/vas_elt_zy/com/aiflow/zw/util/AlarmMess.class 
文件没找到,LZ的路径设置的有问题。


------解决方案--------------------
用Class.getResourceAsStream("com/aiflow/zw/util/AlarmMess.class") 试试
------解决方案--------------------
探讨
尽量不要考虑linux 句柄数受限制问题,因为即使改了linux 句柄数限制,顶多异常出现时间会延长,但从根本上解决不了问题

------解决方案--------------------
Caused by: java.io.FileNotFoundException: /home/tomcat/vas_elt_zy/com/aiflow/zw/util/AlarmMess.class (Too many open files)



------解决方案--------------------
Caused by: java.io.FileNotFoundException: /home/tomcat/vas_elt_zy/com/aiflow/zw/util/AlarmMess.class (Too many open files)
AlarmMess是不是做了文件操作,文件或流操作要记住:打开用完后要适时的关闭。
------解决方案--------------------
Caused by: java.io.FileNotFoundException: /home/tomcat/vas_elt_zy/com/aiflow/zw/util/AlarmMess.class (Too many open files)
看错误提示,AlarmMess里打开的文件过多,是不是每天都会创建打开新的文件,但是过期的文件没有关闭?