java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的区别
2009-11-11 09:07
363 查看
这2个东西应该是java里很常见,很简单,他们都和classpath设定有关,但区别在哪里呢? 我们都知道java里生成对象有如下两种方式:
1:Object obj = new ClassName(); 直接new一个对象
2:Class clazz = Class.forName(ClassName);
Object obj = clazz.newInstance(); 通过class loader动态装载一个类,然后获取这个类的实例
同样是生成对象,1在编译期间检查classpath, 如果没有类定义,编译没法通过。而2在编译期间是不会检查的,不过需要抛出或者自己catch ClassNotFoundException。 运行期间,如果1编译时依赖的类不在classpath中(导致classloader装载失败),此时抛出的异常就是NoClassDefFoundError。而如果2在运行期间需要装载的类不在classpath中,抛出的则是ClassNotFoundException。
在weblogic下面启动的报NoClassDefFoundError这个错,设置一下启动脚本
1:Object obj = new ClassName(); 直接new一个对象
2:Class clazz = Class.forName(ClassName);
Object obj = clazz.newInstance(); 通过class loader动态装载一个类,然后获取这个类的实例
同样是生成对象,1在编译期间检查classpath, 如果没有类定义,编译没法通过。而2在编译期间是不会检查的,不过需要抛出或者自己catch ClassNotFoundException。 运行期间,如果1编译时依赖的类不在classpath中(导致classloader装载失败),此时抛出的异常就是NoClassDefFoundError。而如果2在运行期间需要装载的类不在classpath中,抛出的则是ClassNotFoundException。
在weblogic下面启动的报NoClassDefFoundError这个错,设置一下启动脚本
相关文章推荐
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别(转)
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter /struts2.1.3以前版本和之后版本区别/新版Eclipse找不到Java EE Module Dependencies选项
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
- java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的区别
- spark取得lzo压缩文件报错 java.lang.ClassNotFoundException: Class com.hadoop.compression.lzo.LzoCodec
- Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClass
- eclipse下执行wordcount报错 java.lang.ClassNotFoundException
- DT升级中出现的问题的解决方案(Android upgrade ADT 22, R.java files not generated,java.lang.ClassNotFoundException)
- Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yinuo.parking.app.MyApplication"
- HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.pages.index.index_jsp