问答详情
源自:4-6 后台线程检测类

在intellj idea无法运行

我用的intellj idea作为IDE,碰到一些问题。不知道有没有同学和我一样的,可以一起讨论下。

以下是intellj idea生产的代码结构

http://img4.mukewang.com/5a7f297400018c0104130576.jpg

第一个问题,我按照老师的代码运行的时候抛出java.io.FileNotFoundException

http://img.mukewang.com/5a7f28d9000190db13400300.jpg

记得之前老师有说过,初始化子类时会触发初始化父类的方法。所以这里会加载Object类,而Object类不在classPath路径下,所以抛出了异常。根据分析,我在loadClass方法中加了一层判断来跳过对Object的热加载

http://img1.mukewang.com/5a7f29d9000197e507550361.jpg

运行代码后,确实没有再抛出FileNotFoundException,但是在进行类型转换的时候报错了[心碎]。。

http://img2.mukewang.com/5a7f2a54000116c710530179.jpg

个人猜测可能是两次加载的classpath不是同一个了,所以无法cast。有没有大神指导?或者有没有碰到同样问题的同学,一起讨论下~~

提问者:echov 2018-02-11 01:25

个回答

  • 逐客
    2018-02-13 15:17:41

    这个是因为在编译的时候把原来的文件删了,就是不存在