我通过 bean 脚本框架使用 rhino 在我的 java 进程中创建和配置对象。脚本中使用的一些类需要动态加载,因为它们并不总是在标准类路径上。
为了加载这些类,我使用自定义类加载器初始化脚本框架的上下文工厂,该类加载器从辅助目录加载这些类。这很好用。
问题是这些类中的一些在它们的构造函数中使用了其他类,这些类也必须从这个辅助目录中加载。查看源代码,我发现 javascript 引擎只是调用 Constructor.newInstance。
我怎么知道 newInstance 调用使用哪个类加载器,我可以注入我自己的类加载器,以便我可以手动加载标准类加载器不知道如何加载的类。