ClassLoader.loadClass()方法执行时提示‘ClassNotFoundException’
来源:互联网 发布:2016东华理工行知分院 编辑:程序博客网 时间:2024/06/05 14:38
eclipse中出现‘ClassNotFoundException’错误
在eclipse运行ClassLoader类时,出现如下错误
java.lang.ClassNotFoundException: Tester代码如下:
package base1;class Tester {static{System.out.println("Tester类的静态初始化块...");}}public class ClassLoaderTest {public static void main(String[] args)throws ClassNotFoundException{try{ClassLoader cl = ClassLoader.getSystemClassLoader();cl.loadClass("Tester");System.out.println("系统加载Tester类");Class.forName("Tester");}catch(Exception e){e.printStackTrace();}}}正确代码如下:
package base1;class Tester {static{System.out.println("Tester类的静态初始化块...");}}public class ClassLoaderTest {public static void main(String[] args)throws ClassNotFoundException{try{ClassLoader cl = ClassLoader.getSystemClassLoader();cl.loadClass("base1.Tester");System.out.println("系统加载Tester类");Class.forName("base1.Tester");}catch(Exception e){e.printStackTrace();}}}需要在loadClass()方法中加入包名,Class的forName()方法中加入包名,才能正确找到class文件地址。
查看Eclipse项目classes文件的默认输出路径。
项目----右键----‘Java Build Path’,classer默认路径如下图
cmd中出现错误: 找不到或无法加载主类 ClassLoaderTest
通常出现这种错误有三种原因:
一:环境变量配置有误;
二:执行方法有误,执行时应先执行javac,生成xxx.class文件,在执行java;
三:程序有问题,比如我之前直接在cmd下执行eclipse下的java文件,始终报“错误: 找不到或无法加载主类”这个异常,但是在eclipse下执行同一个文件却没有问题,后来仔细发现原来是java文件中的包名导致的,删除掉红色框中的内容即可正常运行。这是在编译通过的情况下执行编译后的文件出现的问题,如果编译都没通过那就是java文件的问题,仔细检查一下文件是否有异常,比如类没有被public修饰,或者main方法没有static修饰等等。
阅读全文
0 0
- ClassLoader.loadClass()方法执行时提示'ClassNotFoundException'
- ClassLoader.loadClass()方法执行时提示‘ClassNotFoundException’
- ClassLoader.loadClass() throws java.lang.ClassNotFoundException
- ClassLoader.loadClass() throws java.lang.ClassNotFoundException
- java源码解读之ClassLoader(loadClass方法)
- forName方法与ClassLoader中loadClass方法的异同
- Class.forName()、ClassLoader.loadClass()
- Class.forName() and ClassLoader.loadClass()
- Class.forName VS ClassLoader.loadClass
- java里Class类的forName方法和ClassLoader的loadClass方法的实验
- Class.forName()与ClassLoader.loadClass()的区别
- ClassLoader双亲委派模型loadClass过程
- Class.forName和ClassLoader.loadClass的比较
- ClassLoader.loadClass()与Class.forName()的区别
- Class.forname() 和 ClassLoader.loadClass()的区别
- Class.forName与ClassLoader.loadClass的区别
- Class.forName()与ClassLoader.loadClass()的区别
- Class.forName() 和 ClassLoader.loadClass()的区别?
- Samba服务器【Linux-shell】
- 解读spring.util包之FastByteArrayOutputStream
- JAVA is-a、has-a和like-a、组合、聚合和继承 两组概念的区别
- C# 获取磁盘空间或者可用空间
- socket传递对象
- ClassLoader.loadClass()方法执行时提示‘ClassNotFoundException’
- Android PMS运行规则
- 浅谈工程师的调试法宝(四)---RTT的应用
- iOS
- mac 远程连接
- 表结构设计器EZDML V2.15发布
- MEAN 全栈开发 Create a MEAN App Called CodePost
- v4l2获取raw图像数据并保存
- 设备控制中心热更新备忘