Java 如何在运行时将资源注册到类加载器?

Java 如何在运行时将资源注册到类加载器?,java,classloader,embedded-resource,urlclassloader,Java,Classloader,Embedded Resource,Urlclassloader,关于如何添加文件或类,我发现了类似的问题,但在本例中 要注册的资源将在运行时构造并保存在内存中 为了说明这一点,假设我想为我将要使用的某个库创建配置属性。 在初始化这个库之前,我想构造properties资源并将其放在classpath上,以便库能够获取并使用它 但在这种情况下,属性资源将不在文件系统上。它应该在内存中,当库尝试加载它时,应该直接提供服务 从记忆中 我想我应该定义一个定制的ClassLoader,并覆盖与资源检索相关的方法。此外,我应该以某种方式将内存中的数据转换为URL表单。

关于如何添加文件或类,我发现了类似的问题,但在本例中 要注册的资源将在运行时构造并保存在内存中

为了说明这一点,假设我想为我将要使用的某个库创建配置属性。 在初始化这个库之前,我想构造properties资源并将其放在classpath上,以便库能够获取并使用它

但在这种情况下,属性资源将不在文件系统上。它应该在内存中,当库尝试加载它时,应该直接提供服务 从记忆中

我想我应该定义一个定制的
ClassLoader
,并覆盖与资源检索相关的方法。此外,我应该以某种方式将内存中的数据转换为
URL
表单。 但是我不知道如何将这样的东西转换成
URL
(我猜它与
URLConnection
有关)

我知道,如果这个特殊的类加载器在这个库中不可见,那么这个库可能无法找到这个资源。如果它不是类装入器链的一部分