当使用类加载器加载外部jar包工具时, 外部工具的class文件内部包含匿名的内部类,即外部工具也依赖第三方的jar包,这会导致在用URLCLassLoader去loadclass时, 无法找到要引入工具类的匿名内部类,从而抛出 classnotfoundexception, 这种情况下应该如何正确的加载呢?
如果依赖的其他的 jar,那就需要让该 cl 也能加载到相应的 jar,否则当然报错
URLClassLoader可以自动加载匿名内部类,如果ClassLoader是你自己写的,只需要将工具类的jar以及工具类依赖的第三方jar全部加入到你自己的ClassLoader;如果ClassLoader不是你自己写的,注意将所有依赖(工具类jar,工具依赖的第三方jar)加入到你的class path;
另外手动加载匿名内部类资源名形式类似于:com.aliyun.test.A$B
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。