java – 使用osgi访问bundle内的公共属性文件
我有一个带有多个包的osgi应用程序(在felix中).一个包中有一些常见的属性文件,其余的包只需要使用它们.
我们使用maven和spring osgi,属性文件在resouces中:
<path to bundle>/src/main/resources/
common.properties
engine.properties
...
Maven通常在bundle jar中构建它们,因此它们应该在应用程序类路径中,但Spring无法访问它们,这会失败:
<context:property-placeholder location="classpath:common.properties" />
(试过classpath *:和其他组合)
我读过this和this
它是否真的是osgi意识形态的全球问题,没有标准的方法让它运作?只有hacks和变通办法,如that或< osgix:cmProperties ...>?
它令人担忧,因为它使部署更加困难且容易出错:您不能像在普通应用程序中那样使用mvn deploy在jars中部署属性文件, – 您必须手动将它们复制到每个版本的生产框中.