我有以下结构:
-- bundles
---- nicebundle
------ src
-------- ...
-------- nicebundle.config
---------- NiceConfig.java
-------- ...
---- mybundle
------ ...
---- another bundles...
-- features
---- nicebundle.config.feature
------ rootifles
-------- config.cfg
------ ...
---- another features...
其中config.cfg有一些常量,我想在mybundle(activate()方法中)中使用它们。我所拥有NiceConfig.java的nicebundle是NiceConfig @interface,它只是镜像列出了 .cfg 文件中的所有内容,例如String importantString();,并且在 .cfg 文件中有相应的记录:importantString=Hello
对于nicebundle您可以加载NiceConfig对象、调用方法并接收所需的常量,例如:
@Activate
public void activate(final NiceConfig niceConfig) {
String compositeString = niceConfig.importantString() + " World"; // receive "Hello World"
...
我想要的 - 做同样的事情,但在mybundle. 但是,当我这样做时,niceConfig.importantString()返回 null,而不是“Hello”。我想我错过了一些非常简单和明显的东西,但我的问题是:如何实现 .cfg 文件的内容,位于我上面指定的方式(我无法更改)mybundle?