当前位置: 首页 > 知识库问答 >
问题:

从另一个包中读取 Karaf 中的属性文件

黄成荫
2023-03-14

在Karaf中,包有没有办法从另一个包读取属性文件?

我有 bundle1,它包含 bundle2 使用的一些类(bundle1 通过 maven-bundle-plugin 导出包含这些类的包,bundle2 导入它)。但是 bundle2 还需要使用 bundle1 中的属性文件。除了类之外,还有没有办法从 bundle1 访问一个文件?

据我所知,一种选择是通过features文件将属性部署到karaf etc文件夹,然后可以通过blueprint从bundle2访问它。如果可能的话,我希望避免这种情况,因为bundle1目前还没有作为一种特性部署。所以希望有另一种方法。

共有1个答案

徐卓
2023-03-14

最好的方法是通过bundle1类包装访问。假设Bundle2包含一个名为MyClass的类。在这个类中,您可以这样做。getClass().GetResourceAssStream(路径)。路径是相对于类的包的。

所以这个类的方法可以返回属性文件的Inputstream或者允许访问实际的属性。

事实上,您也可以从bundle2访问属性文件。只需使用bundle2中类的MyClass.getResourceAsStream(路径)。这是因为默认情况下每个类都由它所在的包的类加载器加载。

 类似资料:
  • 我试图读取一个名为“numbers.txt”的文件,该文件中填充了整数(每行一个整数,没有空行)。我想把数字放入一个数组,然后返回这个数组(method)。无法找到文件,因此返回null。如果我把文件“numbers.txt”和Class放在同一个文件夹中,它会工作,但我不知道如果我把“numbers.txt”文件放在resources文件夹中,为什么它不工作。我想可以把它放到那里吗?main只是

  • 我一直在努力阅读java项目中的文本文件,我一整天都在寻找解决方案,我尝试了很多方法,但没有一个有效。其中一些:(另外,我必须使用文件和扫描程序类) 异常线程"main"java.nio.file.NoSuchFileExc0019: test\fileTest.txt 异常线程"main"java.lang.NullPointerExc0019 线程“main”java中出现异常。木卫一。Fil

  • 我在蓝图中使用cm:property-placeholder来加载配置文件: 我可以将值设置为bean,例如${abc}。 如何从java访问配置的任何其他属性? 我计划添加属性列表:prop1=11 prop2=22...propn=nn 由于数量不同,我无法在蓝图中添加所有内容。 谢谢你,维克多

  • 问题内容: 是否可以通过读取另一个bean的属性来设置一个bean的属性?例如,假设我有: 我希望Spring实例化这两个类,并调用A的setList方法,并传入调用B的getList方法的结果。Spring配置可能类似于: las,这种伪造的XML不起作用。 为什么不将B注入A?因为我不想引入额外的依赖关系。A仅依赖列表,而不依赖B。 问题答案: 如果你使用的是spring 3.0,还可以使用新

  • 问题内容: 在angularJS中,如何从属性文件中读取值? app.js: 问题答案: 如果是驻留在Web服务器上的文件,则只需执行以下操作: 您可以在此处查看示例: http://plnkr.co/edit/3Ne3roFOwcfVmg2mgnUr?p=preview

  • 我有一个实用工具类,其中我有一个方法,它需要用户名和密码来连接其他URL。我需要将用户名保存在属性文件中,这样我就可以随时更改它。但当我在静态方法中使用它(作为实用程序类)时,问题是它显示为空(即它不能从属性文件中读取)。 但当我在其他控制器中输入这些值时,它们就会到达那里。所以我的问题是如何读取静态字段中的属性值