开发者社区> 问答> 正文

Java的ClassLoader如何加载动态的匿名内部类?

天空kongkong 2019-03-06 18:36:32 574

当使用类加载器加载外部jar包工具时, 外部工具的class文件内部包含匿名的内部类,即外部工具也依赖第三方的jar包,这会导致在用URLCLassLoader去loadclass时, 无法找到要引入工具类的匿名内部类,从而抛出 classnotfoundexception, 这种情况下应该如何正确的加载呢?

Java
分享到
取消 提交回答
全部回答(2)
  • jxiaoyu
    2019-07-17 23:30:18

    如果依赖的其他的 jar,那就需要让该 cl 也能加载到相应的 jar,否则当然报错

    0 0
  • zizhu8
    2019-07-17 23:30:18

    URLClassLoader可以自动加载匿名内部类,如果ClassLoader是你自己写的,只需要将工具类的jar以及工具类依赖的第三方jar全部加入到你自己的ClassLoader;如果ClassLoader不是你自己写的,注意将所有依赖(工具类jar,工具依赖的第三方jar)加入到你的class path;

    另外手动加载匿名内部类资源名形式类似于:com.aliyun.test.A$B

    0 0
添加回答

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题