java - 如何在运行时将资源注册到类加载器?
问题描述
我发现了关于如何添加文件或类的类似问题,但在这种情况下,要注册的资源将在运行时构建并保存在内存中。
为了说明这一点,假设我想为我将使用的某个库创建配置属性。在初始化这个库之前,我想构建属性资源并将其放在类路径中,以便库可以获取并使用它。
但在这种情况下,属性资源不会在文件系统上。它应该在内存中,当库尝试加载它时,它应该直接从内存中提供。
我想我应该定义一个自定义ClassLoader
并覆盖与资源检索相关的方法。另外,我应该以某种方式将我的内存数据转换为URL
表格。但我不知道如何将这样的东西转换为URL
(我猜它必须与URLConnection
.
我知道如果这个特殊的类加载器在这个库中不是“可见的”,那么这个库可能无法找到这个资源。如果它不是类加载器链的一部分。
解决方案
推荐阅读
- jmeter - 获取错误 oajphcCookieManager:无法加载或调用类:org.apache.jmeter.protocol.http.control.HC3CookieHandler
- javascript - js,获取不同时区的当地时间午夜
- python - 无法发布用于测试的 Flask 表单数据 (FieldList) [DeprecationWarning]
- r - kmeans:保存每个迭代步骤
- java - 从自定义类对象创建 CLOB 对象
- python - 如果列表项不在列表中,则
- c# - c# 将列表映射到 ILookup
- c - 将结构数组传递给函数
- angular - 找不到命令:cordova start app_name blank
- android - Kotlin 中 view.setOnLongClickListener 和 view.onClick 的比较