java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的区别
这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。
分享到:
相关推荐
整个系统都没有错误,但是在发布运行后,控制台上却抛出了这样的异常: java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport异常处理
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:688) at java.lang.ClassLoader.loadClass(ClassLoader.java:667) at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:119) at...
主要介绍了Exception in thread main java.lang.NoClassDefFoundError错误解决方法,需要的朋友可以参考下
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/ConditionalTagSupport 问题-附件资源
运行Sqoop报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/avro/LogicalType,下载此资源放到Sqoop的lib目录下即可
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class....
java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter 错误,产生原因是缺少javax.xml.bind.DatatypeConverter
java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的区别 Oracle 一个表字段,更新另一个表字段 报 not null PowerDesigner去除引号方法 显示公式和编辑公式的区别 Exception occurred executing ...
注意!!!!这个jar仅支持commons-lang-3.x 注意!!!!这个jar仅支持commons-lang-3.x ...Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
Exceptionin thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/... at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ...9 more
nested exception is java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException] with root cause java.lang.ClassNotFoundException: org.apache.commons.lang.exception....
at org.apache.hadoop.yarn.client.api.TimelineClient.createTimelineClient(TimelineClient.java:45) at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.serviceInit(YarnClientImpl.java:163) at org...
java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207) at org....
1. 没有找到类的异常... at com.yy.baidu.testBaidu.main(testBaidu.java:12) Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function at java.net.URLClassLoader$1.run(Un
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang....
解决:HSSFWorkbook 解决:java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlOptions 解决:java.lang.NoClassDefFoundError: org/dom4j/DocumentException
多用于定位java.lang.NoClassDefFoundError和java.lang.ClassNotFoundException的问题,以及类版本重复或者冲突的问题等。 脚本代码 #!/bin/bash ### 查找jar包中的字段,多用于定位java.lang.NoClassDefFoundError...
restlet2.0 Restlet Caused by: java.lang.ClassNotFoundException: com.sun.syndication.feed.synd.SyndFeed java.lang.NoClassDefFoundError: com/sun/syndication/feed/synd/SyndFeed