java.lang.NoClassDefFoundError 异常
在项目实施过程中,当访问某一个功能时,出现异常为 java.lang.NoClassDefFoundError com/xxx/yyy/Zzzz > ,检查发现这个类实际已经存在于应用服务器的部署目录中。于是根据class调用的过程去排查这个类,发现代码有一处异常捕获,大概是如下样子。
1 public class Test{ 2 3 public void test1() { 4 System.out.println("test1"); 5 } 6 7 public void exec(){ 8 try{ 9 test1(); 10 }catch(SQLException e){ 11 e.printStackTrace(); 12 } 13 } 14 15 }
当执行exec这个方法时会调用test1(),这里无故捕获了一个异常,而test1方法无任何异常抛出,或者在实际使用中并不抛出SQLException,因此而导致 java.lang.NoClassDefFoundError com/xxx/yyy/Zzzz 这个异常。 所以在代码编写过程应该注意异常的处理,要相互对应,不能无故抛,也不能捕获了而不处理